diff options
author | terry%mozilla.org <> | 2000-05-09 05:00:38 +0000 |
---|---|---|
committer | terry%mozilla.org <> | 2000-05-09 05:00:38 +0000 |
commit | 685a5a8246df2d80a764600edf5c3f375fe89066 (patch) | |
tree | 3609a8b249dc3c0ee99220936bcea32182fc4239 | |
parent | rolling version to 2.11 for development (diff) | |
download | bugzilla-685a5a8246df2d80a764600edf5c3f375fe89066.tar.gz bugzilla-685a5a8246df2d80a764600edf5c3f375fe89066.tar.bz2 bugzilla-685a5a8246df2d80a764600edf5c3f375fe89066.zip |
Add a new param, musthavemilestoneonaccept, which requires users to
set the target milestone when accepting a bug.
-rw-r--r-- | defparams.pl | 5 | ||||
-rwxr-xr-x | process_bug.cgi | 27 |
2 files changed, 30 insertions, 2 deletions
diff --git a/defparams.pl b/defparams.pl index 41a40faf0..f3ee43a6c 100644 --- a/defparams.pl +++ b/defparams.pl @@ -427,6 +427,11 @@ DefParam("curmilestone", 1, \&check_numeric); +DefParam("musthavemilestoneonaccept", + "If you are using Target Milestone, do you want to require that the milestone be set in order for a user to ACCEPT a bug?", + "b", + 0); + DefParam("useqacontact", "Do you wish to use the QA Contact field?", "b", diff --git a/process_bug.cgi b/process_bug.cgi index 22dff72e9..8d88ef85c 100755 --- a/process_bug.cgi +++ b/process_bug.cgi @@ -45,6 +45,8 @@ use vars %::versions, my $whoid = confirm_login(); +my $requiremilestone = 0; + print "Content-type: text/html\n\n"; PutHeader ("Bug processed"); @@ -404,6 +406,11 @@ SWITCH: for ($::FORM{'knob'}) { /^accept$/ && CheckonComment( "accept" ) && do { DoConfirm(); ChangeStatus('ASSIGNED'); + if (Param("musthavemilestoneonaccept")) { + if (Param("usetargetmilestone")) { + $requiremilestone = 1; + } + } last SWITCH; }; /^clearresolution$/ && CheckonComment( "clearresolution" ) && do { @@ -611,16 +618,32 @@ foreach my $id (@idlist) { SendSQL("LOCK TABLES bugs $write, bugs_activity $write, cc $write, " . "profiles $write, dependencies $write, votes $write, " . "keywords $write, longdescs $write, fielddefs $write, " . - "keyworddefs READ, groups READ, attachments READ"); + "keyworddefs READ, groups READ, attachments READ, products READ"); my @oldvalues = SnapShotBug($id); + my %oldhash; my $i = 0; foreach my $col (@::log_columns) { + $oldhash{$col} = $oldvalues[$i]; if (exists $::FORM{$col}) { CheckCanChangeField($col, $id, $oldvalues[$i], $::FORM{$col}); } $i++; } - + if ($requiremilestone) { + my $value = $::FORM{'target_milestone'}; + if (!defined $value || $value eq $::dontchange) { + $value = $oldhash{'target_milestone'}; + } + SendSQL("SELECT defaultmilestone FROM products WHERE product = " . + SqlQuote($oldhash{'product'})); + if ($value eq FetchOneColumn()) { + SendSQL("UNLOCK TABLES"); + PuntTryAgain("You must determine a target milestone for bug $id " . + "if you are going to accept it. (Part of " . + "accepting a bug is giving an estimate of when it " . + "will be fixed.)"); + } + } if (defined $::FORM{'delta_ts'} && $::FORM{'delta_ts'} ne $delta_ts) { print " <H1>Mid-air collision detected!</H1> |