From: Byron Jones Date: Thu, 16 Oct 2014 07:31:48 +0000 (+0800) Subject: Bug 1082887: comments made when setting a flag from the attachment details page are... X-Git-Tag: bugzilla-4.2.12~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=04407b889158cc9f7022031b211422234b400fab;p=thirdparty%2Fbugzilla.git Bug 1082887: comments made when setting a flag from the attachment details page are not included in the "flag updated" email r=dkl,a=glob --- diff --git a/attachment.cgi b/attachment.cgi index d707d68c0e..b4ab9278c0 100755 --- a/attachment.cgi +++ b/attachment.cgi @@ -562,7 +562,6 @@ sub insert { my ($flags, $new_flags) = Bugzilla::Flag->extract_flags_from_cgi( $bug, $attachment, $vars, SKIP_REQUESTEE_ON_ERROR); $attachment->set_flags($flags, $new_flags); - $attachment->update($timestamp); # Insert a comment about the new attachment into the database. my $comment = $cgi->param('comment'); @@ -591,6 +590,10 @@ sub insert { } $bug->update($timestamp); + # We have to update the attachment after updating the bug, to ensure new + # comments are available. + $attachment->update($timestamp); + $dbh->bz_commit_transaction; # Define the variables and functions that will be passed to the UI template. @@ -714,6 +717,11 @@ sub update { # Figure out when the changes were made. my $timestamp = $dbh->selectrow_array('SELECT LOCALTIMESTAMP(0)'); + # Commit the comment, if any. + # This has to happen before updating the attachment, to ensure new comments + # are available to $attachment->update. + $bug->update($timestamp); + if ($can_edit) { my $changes = $attachment->update($timestamp); # If there are changes, we updated delta_ts in the DB. We have to @@ -721,9 +729,6 @@ sub update { $bug->{delta_ts} = $timestamp if scalar(keys %$changes); } - # Commit the comment, if any. - $bug->update($timestamp); - # Commit the transaction now that we are finished updating the database. $dbh->bz_commit_transaction();