email_in.pl doesn't allow you to close a bug

RESOLVED FIXED in Bugzilla 3.0

Status

()

Bugzilla
Incoming Email
RESOLVED FIXED
10 years ago
9 years ago

People

(Reporter: David, Assigned: Frédéric Buclin)

Tracking

Bugzilla 3.0
Bug Flags:
approval3.0 +

Details

(Whiteboard: [doesn't affect 3.2; 3.0.x only])

Attachments

(1 attachment)

(Reporter)

Description

10 years ago
User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20060202 Fedora/1.0.7-1.2.fc4 Firefox/1.0.7
Build Identifier: 3.0rc1

sending an email with @bug_status=CLOSED sets the bug_status=RESOLVED resolution=FIXED, where it should be set to bug_status=CLOSED, resolution=FIXED

Also, if the bug has a bug_status=CLOSED and resolution=FIXED sending a email with the same will result in the bug_status being changed back to RESOLVED and the resolution remains as FIXED.

The following line:
if ($fields{'resolution'}) {

changes to

if ($fields{'resolution'} && !($fields{'bug_status'} =~ /closed/i) ) {

fixes the problem.

Reproducible: Always

Steps to Reproduce:
1.Send email with containing @bug_status=RESOLVED as well as other appriopriate values.  You see that the status changes from new to RESOLVED
2 manually close the bug, now bug_status=CLOSED.
3. send email with bug_status=CLOSED and it will change back to bug_status=RESOLVED.

Also,
you can do steps 1 and 3 and the bug_status will not change to CLOSED.

Updated

10 years ago
Component: Creating/Changing Bugs → Incoming Email
(Assignee)

Updated

10 years ago
Keywords: qawanted
Version: unspecified → 3.0
(Assignee)

Updated

10 years ago
Depends on: 418863
(Assignee)

Comment 1

10 years ago
I can reproduce as well. We will have to fix bug 418863 first to avoid corrupted data.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: qawanted
Whiteboard: [doesn't affect 3.2; 3.0.x only]
Target Milestone: --- → Bugzilla 3.0
(Assignee)

Updated

10 years ago
Assignee: create-and-change → LpSolit
(Assignee)

Comment 2

9 years ago
Created attachment 311007 [details] [diff] [review]
patch, v1

Now correctly handles @bug_status = CLOSED. As explained in bug 418863, you cannot go from NEW to CLOSED in one step. That's not allowed by the (hardcoded) workflow in Bugzilla 3.0. But @bug_status = CLOSED will now correctly change the status of a resolved bug to CLOSED. In the same way, @resolution = FIXED (without @bug_status being specified!) will correctly change the resolution of a resolved bug to FIXED, leaving its status alone. If both @bug_status and @resolution are specified, then @bug_status takes precedence (said otherwise, @resolution can and should only be set together with @bug_status = RESOLVED).

This patch also fixes the incorrect behavior when reopening bugs. It must call "reopen" instead of "clearresolution", which has another meaning.
Attachment #311007 - Flags: review?(mkanat)

Comment 3

9 years ago
Comment on attachment 311007 [details] [diff] [review]
patch, v1

Sure, looks fine.

Another reason why we should implement set_all and switch email_in to use it.
Attachment #311007 - Flags: review?(mkanat) → review+
(Assignee)

Updated

9 years ago
Status: NEW → ASSIGNED
Flags: approval3.0+
(Assignee)

Comment 4

9 years ago
3.0.3:

Checking in email_in.pl;
/cvsroot/mozilla/webtools/bugzilla/email_in.pl,v  <--  email_in.pl
new revision: 1.5.2.8; previous revision: 1.5.2.7
done
Status: ASSIGNED → RESOLVED
Last Resolved: 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.