aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorterry%mozilla.org <>2000-05-09 05:00:38 +0000
committerterry%mozilla.org <>2000-05-09 05:00:38 +0000
commit685a5a8246df2d80a764600edf5c3f375fe89066 (patch)
tree3609a8b249dc3c0ee99220936bcea32182fc4239
parentrolling version to 2.11 for development (diff)
downloadbugzilla-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.pl5
-rwxr-xr-xprocess_bug.cgi27
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>