summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bug_form.pl4
-rwxr-xr-xbuglist.cgi5
-rw-r--r--globals.pl19
3 files changed, 20 insertions, 8 deletions
diff --git a/bug_form.pl b/bug_form.pl
index d81a9b813..c41b51e6e 100644
--- a/bug_form.pl
+++ b/bug_form.pl
@@ -39,7 +39,7 @@ sub bug_form_pl_sillyness {
$zz = @::legal_platform;
$zz = @::legal_product;
$zz = @::legal_priority;
- $zz = @::legal_resolution_no_dup;
+ $zz = @::settable_resolution;
$zz = @::legal_severity;
$zz = %::target_milestone;
}
@@ -140,7 +140,7 @@ GetVersionTable();
# These should be read from the database ...
#
-my $resolution_popup = make_options(\@::legal_resolution_no_dup,
+my $resolution_popup = make_options(\@::settable_resolution,
$bug{'resolution'});
my $platform_popup = make_options(\@::legal_platform, $bug{'rep_platform'});
my $priority_popup = make_options(\@::legal_priority, $bug{'priority'});
diff --git a/buglist.cgi b/buglist.cgi
index 7a02233dd..c704df168 100755
--- a/buglist.cgi
+++ b/buglist.cgi
@@ -40,7 +40,7 @@ sub sillyness {
$zz = @::legal_platform;
$zz = @::legal_priority;
$zz = @::legal_product;
- $zz = @::legal_resolution_no_dup;
+ $zz = @::settable_resolution;
$zz = @::legal_severity;
$zz = @::versions;
$zz = @::target_milestone;
@@ -1217,7 +1217,8 @@ function SetCheckboxes(value) {
}
document.write(\" <input type=button value=\\\"Uncheck All\\\" onclick=\\\"SetCheckboxes(false);\\\"> <input type=button value=\\\"Check All\\\" onclick=\\\"SetCheckboxes(true);\\\">\");
</SCRIPT>";
- my $resolution_popup = make_options(\@::legal_resolution_no_dup, "FIXED");
+
+ my $resolution_popup = make_options(\@::settable_resolution, "FIXED");
my @prod_list = keys %prodhash;
my @list = @prod_list;
my @legal_versions;
diff --git a/globals.pl b/globals.pl
index 58942ba01..915c0bc18 100644
--- a/globals.pl
+++ b/globals.pl
@@ -412,10 +412,20 @@ sub GenerateVersionTable {
@::legal_opsys = SplitEnumType($cols->{"op_sys,type"});
@::legal_bug_status = SplitEnumType($cols->{"bug_status,type"});
@::legal_resolution = SplitEnumType($cols->{"resolution,type"});
- @::legal_resolution_no_dup = @::legal_resolution;
- my $w = lsearch(\@::legal_resolution_no_dup, "DUPLICATE");
+
+ # 'settable_resolution' is the list of resolutions that may be set
+ # directly by hand in the bug form. Start with the list of legal
+ # resolutions and remove 'MOVED' and 'DUPLICATE' because setting
+ # bugs to those resolutions requires a special process.
+ #
+ @::settable_resolution = @::legal_resolution;
+ my $w = lsearch(\@::settable_resolution, "DUPLICATE");
if ($w >= 0) {
- splice(@::legal_resolution_no_dup, $w, 1);
+ splice(@::settable_resolution, $w, 1);
+ }
+ my $z = lsearch(\@::settable_resolution, "MOVED");
+ if ($z >= 0) {
+ splice(@::settable_resolution, $z, 1);
}
my @list = sort { uc($a) cmp uc($b)} keys(%::versions);
@@ -439,9 +449,10 @@ sub GenerateVersionTable {
@::legal_components = sort {uc($a) cmp uc($b)} keys(%carray);
print FID GenerateCode('@::legal_components');
foreach my $i('product', 'priority', 'severity', 'platform', 'opsys',
- 'bug_status', 'resolution', 'resolution_no_dup') {
+ 'bug_status', 'resolution') {
print FID GenerateCode('@::legal_' . $i);
}
+ print FID GenerateCode('@::settable_resolution');
print FID GenerateCode('%::proddesc');
print FID GenerateCode('%::prodmaxvotes');
print FID GenerateCode('$::anyvotesallowed');