From ff222adc4a6cb0349f7642d61bb63d2ff970607c Mon Sep 17 00:00:00 2001 From: "lpsolit%gmail.com" <> Date: Fri, 13 Jul 2007 18:10:39 +0000 Subject: 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 r/a=mkanat MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- editvalues.cgi | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'editvalues.cgi') diff --git a/editvalues.cgi b/editvalues.cgi index 3974d45dc..951078389 100755 --- a/editvalues.cgi +++ b/editvalues.cgi @@ -29,6 +29,7 @@ use Bugzilla::Config qw(:admin); use Bugzilla::Token; use Bugzilla::Field; use Bugzilla::Bug; +use Bugzilla::Status; # List of different tables that contain the changeable field values # (the old "enums.") Keep them in alphabetical order by their @@ -136,7 +137,7 @@ $defaults{'bug_severity'} = 'defaultseverity'; # Alternatively, a list of non-editable values can be specified. # In this case, only the sortkey can be altered. my %static; -$static{'bug_status'} = ['UNCONFIRMED']; +$static{'bug_status'} = ['UNCONFIRMED', Bugzilla->params->{'duplicate_or_move_bug_status'}]; $static{'resolution'} = ['', 'FIXED', 'MOVED', 'DUPLICATE']; $static{$_->name} = ['---'] foreach (@custom_fields); @@ -234,9 +235,14 @@ if ($action eq 'new') { $dbh->do("INSERT INTO $field (value, sortkey) VALUES (?, ?)", undef, ($value, $sortkey)); - if ($field eq 'bug_status' && !$cgi->param('is_open')) { - # The bug status is a closed state, but they are open by default. - $dbh->do('UPDATE bug_status SET is_open = 0 WHERE value = ?', undef, $value); + if ($field eq 'bug_status') { + unless ($cgi->param('is_open')) { + # The bug status is a closed state, but they are open by default. + $dbh->do('UPDATE bug_status SET is_open = 0 WHERE value = ?', undef, $value); + } + # Allow the transition from this new bug status to the one used + # by the 'duplicate_or_move_bug_status' parameter. + Bugzilla::Status::add_missing_bug_status_transitions(); } delete_token($token); -- cgit v1.2.3-24-g4f1b