From 1b8e4cadbdab2e8a335c9f1186a301e493a9a8b3 Mon Sep 17 00:00:00 2001 From: "lpsolit%gmail.com" <> Date: Tue, 9 Oct 2007 15:34:41 +0000 Subject: Bug 387672: Move BUG_STATE_OPEN and is_open_state() into Status.pm - Patch by Frédéric Buclin r/a=mkanat MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Bugzilla/Status.pm | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'Bugzilla/Status.pm') diff --git a/Bugzilla/Status.pm b/Bugzilla/Status.pm index 9af0f043c..65baf04b8 100644 --- a/Bugzilla/Status.pm +++ b/Bugzilla/Status.pm @@ -22,7 +22,8 @@ use strict; package Bugzilla::Status; -use base qw(Bugzilla::Object); +use base qw(Bugzilla::Object Exporter); +@Bugzilla::Status::EXPORT = qw(BUG_STATE_OPEN is_open_state closed_bug_statuses); ################################ ##### Initialization ##### @@ -54,6 +55,18 @@ sub is_open { return $_[0]->{'is_open'}; } ##### Methods #### ############################### +sub BUG_STATE_OPEN { + # XXX - We should cache this list. + my $dbh = Bugzilla->dbh; + return @{$dbh->selectcol_arrayref('SELECT value FROM bug_status WHERE is_open = 1')}; +} + +# Tells you whether or not the argument is a valid "open" state. +sub is_open_state { + my ($state) = @_; + return (grep($_ eq $state, BUG_STATE_OPEN) ? 1 : 0); +} + sub closed_bug_statuses { my @bug_statuses = Bugzilla::Status->get_all; @bug_statuses = grep { !$_->is_open } @bug_statuses; @@ -154,7 +167,7 @@ Bugzilla::Status - Bug status class. my $bug_status = new Bugzilla::Status({name => 'ASSIGNED'}); my $bug_status = new Bugzilla::Status(4); - my @closed_bug_statuses = Bugzilla::Status::closed_bug_statuses(); + my @closed_bug_statuses = closed_bug_statuses(); Bugzilla::Status::add_missing_bug_status_transitions($bug_status); -- cgit v1.2.3-24-g4f1b