[bugzilla-gnome-org-upstream/4.4: 2/19] Bug 1082887: comments made when setting a flag from the attachment details page are not included in



commit bad9ac711c0c0370f55fb94c261acd0bc401247f
Author: Byron Jones <glob mozilla com>
Date:   Thu Oct 16 15:31:53 2014 +0800

    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

 attachment.cgi |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)
---
diff --git a/attachment.cgi b/attachment.cgi
index 7db8015..e003e1f 100755
--- a/attachment.cgi
+++ b/attachment.cgi
@@ -549,7 +549,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');
@@ -580,6 +579,10 @@ sub insert {
   $bug->add_cc($user) if $cgi->param('addselfcc');
   $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.
@@ -702,6 +705,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
@@ -709,9 +717,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();
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]