diff options
author | Byron Jones <glob@mozilla.com> | 2014-06-11 23:11:51 +0800 |
---|---|---|
committer | Byron Jones <glob@mozilla.com> | 2014-06-11 23:11:51 +0800 |
commit | 02719d27e660f1212450a563e0e0b8aefa6c6883 (patch) | |
tree | 52e06b9419833d016617b9039f61a939677fbc63 /Bugzilla | |
parent | 4d5e362475a95c83f478b846ed847ac5ebe31234 (diff) | |
download | bugs-02719d27e660f1212450a563e0e0b8aefa6c6883.tar bugs-02719d27e660f1212450a563e0e0b8aefa6c6883.tar.gz bugs-02719d27e660f1212450a563e0e0b8aefa6c6883.tar.bz2 bugs-02719d27e660f1212450a563e0e0b8aefa6c6883.tar.xz bugs-02719d27e660f1212450a563e0e0b8aefa6c6883.zip |
Bug 978146: activity entry when setting flags isn't split across multiple rows
r=dkl,a=sgreen
Diffstat (limited to 'Bugzilla')
-rw-r--r-- | Bugzilla/Attachment.pm | 10 | ||||
-rw-r--r-- | Bugzilla/Bug.pm | 14 |
2 files changed, 11 insertions, 13 deletions
diff --git a/Bugzilla/Attachment.pm b/Bugzilla/Attachment.pm index 79b7f1213..19c10c8fe 100644 --- a/Bugzilla/Attachment.pm +++ b/Bugzilla/Attachment.pm @@ -890,16 +890,12 @@ sub update { } # Record changes in the activity table. - my $sth = $dbh->prepare('INSERT INTO bugs_activity (bug_id, attach_id, who, bug_when, - fieldid, removed, added) - VALUES (?, ?, ?, ?, ?, ?, ?)'); - + require Bugzilla::Bug; foreach my $field (keys %$changes) { my $change = $changes->{$field}; $field = "attachments.$field" unless $field eq "flagtypes.name"; - my $fieldid = get_field_id($field); - $sth->execute($self->bug_id, $self->id, $user->id, $timestamp, - $fieldid, $change->[0], $change->[1]); + Bugzilla::Bug::LogActivityEntry($self->bug_id, $field, $change->[0], + $change->[1], $user->id, $timestamp, undef, $self->id); } if (scalar(keys %$changes)) { diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm index d10fbdfd7..cb132f31d 100644 --- a/Bugzilla/Bug.pm +++ b/Bugzilla/Bug.pm @@ -4053,11 +4053,12 @@ sub get_activity { # Update the bugs_activity table to reflect changes made in bugs. sub LogActivityEntry { - my ($i, $col, $removed, $added, $whoid, $timestamp, $comment_id) = @_; + my ($bug_id, $field, $removed, $added, $user_id, $timestamp, $comment_id, + $attach_id) = @_; my $sth = Bugzilla->dbh->prepare_cached( - 'INSERT INTO bugs_activity - (bug_id, who, bug_when, fieldid, removed, added, comment_id) - VALUES (?, ?, ?, ?, ?, ?, ?)'); + 'INSERT INTO bugs_activity + (bug_id, who, bug_when, fieldid, removed, added, comment_id, attach_id) + VALUES (?, ?, ?, ?, ?, ?, ?, ?)'); # in the case of CCs, deps, and keywords, there's a possibility that someone # might try to add or remove a lot of them at once, which might take more @@ -4081,8 +4082,9 @@ sub LogActivityEntry { } trick_taint($addstr); trick_taint($removestr); - my $fieldid = get_field_id($col); - $sth->execute($i, $whoid, $timestamp, $fieldid, $removestr, $addstr, $comment_id); + my $fieldid = get_field_id($field); + $sth->execute($bug_id, $user_id, $timestamp, $fieldid, $removestr, + $addstr, $comment_id, $attach_id); } } |