summaryrefslogtreecommitdiffstats
path: root/email_in.pl
diff options
context:
space:
mode:
authorlpsolit%gmail.com <>2008-01-24 04:49:31 +0100
committerlpsolit%gmail.com <>2008-01-24 04:49:31 +0100
commit92129e7250e8fd9af8330de686ad5f77b6b73932 (patch)
treea2a3629e4b0e4b7b7a64bb520ada23aed367f12d /email_in.pl
parent4a3e07de812041539bd46df627a90adb96c189db (diff)
downloadbugzilla-92129e7250e8fd9af8330de686ad5f77b6b73932.tar.gz
bugzilla-92129e7250e8fd9af8330de686ad5f77b6b73932.tar.xz
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
Diffstat (limited to 'email_in.pl')
-rw-r--r--email_in.pl17
1 files changed, 6 insertions, 11 deletions
diff --git a/email_in.pl b/email_in.pl
index 13e81e77e..02d00a3e2 100644
--- a/email_in.pl
+++ b/email_in.pl
@@ -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.