Bug 391669: Modifying a bug via email_in.pl fails because there are many fields that process_bug.cgi requires but aren't provided to it - Patch by Frédéric Buclin <LpSolit@gmail.com> r=mkanat a=LpSolit
git-svn-id: svn://10.0.0.236/trunk@243854 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
7182726e00
commit
b69e2bc785
@ -213,22 +213,17 @@ sub process_bug {
|
||||
ValidateBugID($bug_id);
|
||||
my $bug = new Bugzilla::Bug($bug_id);
|
||||
|
||||
if ($fields{'assigned_to'}) {
|
||||
$fields{'knob'} = 'reassign';
|
||||
if ($fields{'bug_status'}) {
|
||||
$fields{'knob'} = $fields{'bug_status'};
|
||||
}
|
||||
if (my $status = $fields{'bug_status'}) {
|
||||
$fields{'knob'} = 'confirm' if $status =~ /NEW/i;
|
||||
$fields{'knob'} = 'accept' if $status =~ /ASSIGNED/i;
|
||||
$fields{'knob'} = 'clearresolution' if $status =~ /REOPENED/i;
|
||||
$fields{'knob'} = 'verify' if $status =~ /VERIFIED/i;
|
||||
$fields{'knob'} = 'close' if $status =~ /CLOSED/i;
|
||||
# If no status is given, then we only want to change the resolution.
|
||||
elsif ($fields{'resolution'}) {
|
||||
$fields{'knob'} = 'change_resolution';
|
||||
$fields{'resolution_knob_change_resolution'} = $fields{'resolution'};
|
||||
}
|
||||
if ($fields{'dup_id'}) {
|
||||
$fields{'knob'} = 'duplicate';
|
||||
}
|
||||
if ($fields{'resolution'}) {
|
||||
$fields{'knob'} = 'resolve';
|
||||
}
|
||||
|
||||
# Make sure we don't get prompted if we have to change the default
|
||||
# groups.
|
||||
|
||||
@ -488,12 +488,14 @@ if (!$cgi->param('id') && $cgi->param('dup_id')) {
|
||||
foreach my $b (@bug_objects) {
|
||||
if (should_set('knob')) {
|
||||
# First, get the correct resolution <select>, in case there is more
|
||||
# than one open -> closed transition allowed.
|
||||
# than one open -> closed transition allowed. Allow to fallback to
|
||||
# 'resolution' (useful when called from email_in.pl).
|
||||
my $knob = $cgi->param('knob');
|
||||
my $status = new Bugzilla::Status({name => $knob});
|
||||
my $resolution;
|
||||
if ($status) {
|
||||
$resolution = $cgi->param('resolution_knob_' . $status->id);
|
||||
$resolution = $cgi->param('resolution_knob_' . $status->id)
|
||||
|| $cgi->param('resolution');
|
||||
}
|
||||
else {
|
||||
$resolution = $cgi->param('resolution_knob_change_resolution');
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user