summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Config/Common.pm
diff options
context:
space:
mode:
authorlpsolit%gmail.com <>2007-07-13 20:10:39 +0200
committerlpsolit%gmail.com <>2007-07-13 20:10:39 +0200
commitff222adc4a6cb0349f7642d61bb63d2ff970607c (patch)
treeba87c96d90582e7740991bc2c65dba56c92ee76c /Bugzilla/Config/Common.pm
parent012d45ae9579b0f1690a2daed8212f38e9c9e26a (diff)
downloadbugzilla-ff222adc4a6cb0349f7642d61bb63d2ff970607c.tar.gz
bugzilla-ff222adc4a6cb0349f7642d61bb63d2ff970607c.tar.xz
Bug 385415: Bugs marked as duplicate or moved to another installation always go to the RESOLVED state, even if the workflow has RESOLVED excluded from it (or if this bug status has been removed or renamed). Some major problems related to the workflow when upgrading or installing 3.1 are also fixed here - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=mkanat
Diffstat (limited to 'Bugzilla/Config/Common.pm')
-rw-r--r--Bugzilla/Config/Common.pm12
1 files changed, 11 insertions, 1 deletions
diff --git a/Bugzilla/Config/Common.pm b/Bugzilla/Config/Common.pm
index 0d6db5257..188ef0c90 100644
--- a/Bugzilla/Config/Common.pm
+++ b/Bugzilla/Config/Common.pm
@@ -40,6 +40,7 @@ use Bugzilla::Util;
use Bugzilla::Constants;
use Bugzilla::Field;
use Bugzilla::Group;
+use Bugzilla::Status;
use base qw(Exporter);
@Bugzilla::Config::Common::EXPORT =
@@ -48,7 +49,7 @@ use base qw(Exporter);
check_opsys check_shadowdb check_urlbase check_webdotbase
check_netmask check_user_verify_class check_image_converter
check_languages check_mail_delivery_method check_notification
- check_timezone check_utf8
+ check_timezone check_utf8 check_bug_status
);
# Checking functions for the various values
@@ -166,6 +167,15 @@ sub check_opsys {
return "";
}
+sub check_bug_status {
+ my $bug_status = shift;
+ my @closed_bug_statuses = map {$_->name} Bugzilla::Status::closed_bug_statuses();
+ if (lsearch(\@closed_bug_statuses, $bug_status) < 0) {
+ return "Must be a valid closed status: one of " . join(', ', @closed_bug_statuses);
+ }
+ return "";
+}
+
sub check_group {
my $group_name = shift;
return "" unless $group_name;