From f0e753c84b83d9f0cc2391ed72e2456364a665bd Mon Sep 17 00:00:00 2001 From: "lpsolit%gmail.com" <> Date: Wed, 17 Dec 2008 15:07:28 +0000 Subject: Bug 467171: Editing attachments doesn't update the Last-Modified bug timestamp - Patch by A.A. Shimono r/a=LpSolit --- attachment.cgi | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'attachment.cgi') diff --git a/attachment.cgi b/attachment.cgi index ec82b7fa4..35829343f 100755 --- a/attachment.cgi +++ b/attachment.cgi @@ -561,36 +561,49 @@ sub update { my $sth = $dbh->prepare('INSERT INTO bugs_activity (bug_id, attach_id, who, bug_when, fieldid, removed, added) VALUES (?, ?, ?, ?, ?, ?, ?)'); + # Flag for updating Last-Modified timestamp if record changed + my $updated = 0; if ($attachment->description ne $updated_attachment->description) { my $fieldid = get_field_id('attachments.description'); $sth->execute($bug->id, $attachment->id, $user->id, $timestamp, $fieldid, $attachment->description, $updated_attachment->description); + $updated = 1; } if ($attachment->contenttype ne $updated_attachment->contenttype) { my $fieldid = get_field_id('attachments.mimetype'); $sth->execute($bug->id, $attachment->id, $user->id, $timestamp, $fieldid, $attachment->contenttype, $updated_attachment->contenttype); + $updated = 1; } if ($attachment->filename ne $updated_attachment->filename) { my $fieldid = get_field_id('attachments.filename'); $sth->execute($bug->id, $attachment->id, $user->id, $timestamp, $fieldid, $attachment->filename, $updated_attachment->filename); + $updated = 1; } if ($attachment->ispatch != $updated_attachment->ispatch) { my $fieldid = get_field_id('attachments.ispatch'); $sth->execute($bug->id, $attachment->id, $user->id, $timestamp, $fieldid, $attachment->ispatch, $updated_attachment->ispatch); + $updated = 1; } if ($attachment->isobsolete != $updated_attachment->isobsolete) { my $fieldid = get_field_id('attachments.isobsolete'); $sth->execute($bug->id, $attachment->id, $user->id, $timestamp, $fieldid, $attachment->isobsolete, $updated_attachment->isobsolete); + $updated = 1; } if ($attachment->isprivate != $updated_attachment->isprivate) { my $fieldid = get_field_id('attachments.isprivate'); $sth->execute($bug->id, $attachment->id, $user->id, $timestamp, $fieldid, $attachment->isprivate, $updated_attachment->isprivate); + $updated = 1; + } + + if ($updated) { + $dbh->do("UPDATE bugs SET delta_ts = ? WHERE bug_id = ?", undef, + $timestamp, $bug->id); } # Commit the transaction now that we are finished updating the database. -- cgit v1.2.3-24-g4f1b