summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Status.pm
diff options
context:
space:
mode:
authorlpsolit%gmail.com <>2007-10-09 17:34:41 +0200
committerlpsolit%gmail.com <>2007-10-09 17:34:41 +0200
commit1b8e4cadbdab2e8a335c9f1186a301e493a9a8b3 (patch)
treefa2b295246b059f0a3524c74972566c14b59ce1f /Bugzilla/Status.pm
parent73553366455cb23a6df1847d67bde74386c87742 (diff)
downloadbugzilla-1b8e4cadbdab2e8a335c9f1186a301e493a9a8b3.tar.gz
bugzilla-1b8e4cadbdab2e8a335c9f1186a301e493a9a8b3.tar.xz
Bug 387672: Move BUG_STATE_OPEN and is_open_state() into Status.pm - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=mkanat
Diffstat (limited to 'Bugzilla/Status.pm')
-rw-r--r--Bugzilla/Status.pm17
1 files changed, 15 insertions, 2 deletions
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);