]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 1082887: comments made when setting a flag from the attachment details page are...
authorByron Jones <glob@mozilla.com>
Thu, 16 Oct 2014 07:31:48 +0000 (15:31 +0800)
committerByron Jones <glob@mozilla.com>
Thu, 16 Oct 2014 07:31:48 +0000 (15:31 +0800)
r=dkl,a=glob

attachment.cgi

index d707d68c0e73f001e78afb6de9a26ab3e2d35038..b4ab9278c0b4eb69c281ee1d44af58b66bc58825 100755 (executable)
@@ -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();