summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Config
diff options
context:
space:
mode:
authorGervase Markham <gerv@gerv.net>2015-03-30 19:53:57 +0200
committerGervase Markham <gerv@gerv.net>2015-03-30 19:53:57 +0200
commit79ec29975ac8d1a4f49b83ed404a1ee04c33b73c (patch)
treefd747279bdfb8f3857e7e64468c0915649319523 /Bugzilla/Config
parent2c82105b0fed5d6739111c5de8dba063b01ab446 (diff)
downloadbugzilla-79ec29975ac8d1a4f49b83ed404a1ee04c33b73c.tar.gz
bugzilla-79ec29975ac8d1a4f49b83ed404a1ee04c33b73c.tar.xz
Bug 1007605 - Make FIXED non-fixed, by changing noresolveonopenblockers to define what the fixed resolution is. r,a=glob
Diffstat (limited to 'Bugzilla/Config')
-rw-r--r--Bugzilla/Config/BugChange.pm13
-rw-r--r--Bugzilla/Config/Common.pm16
2 files changed, 25 insertions, 4 deletions
diff --git a/Bugzilla/Config/BugChange.pm b/Bugzilla/Config/BugChange.pm
index 0acdc0ce4..2a225b794 100644
--- a/Bugzilla/Config/BugChange.pm
+++ b/Bugzilla/Config/BugChange.pm
@@ -31,6 +31,10 @@ sub get_param_list {
@closed_bug_statuses = @current_closed_states if scalar(@current_closed_states);
};
+ my $resolution_field = Bugzilla::Field->new({ name => 'resolution', cache => 1 });
+ # The empty resolution is included - it represents "no value"
+ my @resolutions = map {$_->name} @{ $resolution_field->legal_values };
+
my @param_list = (
{
name => 'duplicate_or_move_bug_status',
@@ -71,10 +75,13 @@ sub get_param_list {
},
{
- name => 'noresolveonopenblockers',
- type => 'b',
- default => 0,
+ name => 'resolution_forbidden_with_open_blockers',
+ type => 's',
+ choices => \@resolutions,
+ default => '',
+ checker => \&check_resolution,
} );
+
return @param_list;
}
diff --git a/Bugzilla/Config/Common.pm b/Bugzilla/Config/Common.pm
index 52a2f8f11..95b1e3189 100644
--- a/Bugzilla/Config/Common.pm
+++ b/Bugzilla/Config/Common.pm
@@ -28,7 +28,7 @@ use parent qw(Exporter);
check_ip check_mail_delivery_method check_notification
check_bug_status check_smtp_auth check_theschwartz_available
check_maxattachmentsize check_email check_smtp_ssl
- check_comment_taggers_group check_smtp_server
+ check_comment_taggers_group check_smtp_server check_resolution
);
# Checking functions for the various values
@@ -164,6 +164,18 @@ sub check_bug_status {
return "";
}
+sub check_resolution {
+ my $resolution = shift;
+ my $resolution_field = Bugzilla::Field->new({ name => 'resolution', cache => 1 });
+ # The empty resolution is included - it represents "no value"
+ my @resolutions = map {$_->name} @{ $resolution_field->legal_values };
+
+ if (!grep($_ eq $resolution, @resolutions)) {
+ return "Must be blank or a valid resolution: one of " . join(', ', @resolutions);
+ }
+ return "";
+}
+
sub check_group {
my $group_name = shift;
return "" unless $group_name;
@@ -464,6 +476,8 @@ valid group is provided.
=item check_bug_status
+=item check_resolution
+
=item check_shadowdb
=item check_smtp_server