diff options
author | Byron Jones <glob@mozilla.com> | 2014-07-08 10:40:14 +0200 |
---|---|---|
committer | Byron Jones <glob@mozilla.com> | 2014-07-08 10:40:14 +0200 |
commit | 2f3b5dd7df3e131af6aef3cd5ccf7e8523c1780e (patch) | |
tree | e71ea56398621e038df3c27cc5b87accf7a04968 /Bugzilla | |
parent | d74129306d8d5a903af6fe3957046feb36affdd1 (diff) | |
download | bugzilla-2f3b5dd7df3e131af6aef3cd5ccf7e8523c1780e.tar.gz bugzilla-2f3b5dd7df3e131af6aef3cd5ccf7e8523c1780e.tar.xz |
Bug 990980: create an extension for server-side filtering of bugmail
Diffstat (limited to 'Bugzilla')
-rw-r--r-- | Bugzilla/BugMail.pm | 6 | ||||
-rw-r--r-- | Bugzilla/User.pm | 14 |
2 files changed, 19 insertions, 1 deletions
diff --git a/Bugzilla/BugMail.pm b/Bugzilla/BugMail.pm index 50d13439c..9980535ce 100644 --- a/Bugzilla/BugMail.pm +++ b/Bugzilla/BugMail.pm @@ -407,6 +407,12 @@ sub sendMail { my @changedfields = uniq map { $_->{field_desc} } @display_diffs; my @changedfieldnames = uniq map { $_->{field_name} } @display_diffs; + # BMO: Add a field to indicate when a comment was added + if (grep($_->type != CMT_ATTACHMENT_CREATED, @send_comments)) { + push(@changedfields, 'Comment Created'); + push(@changedfieldnames, 'comment'); + } + # Add attachments.created to changedfields if one or more # comments contain information about a new attachment if (grep($_->type == CMT_ATTACHMENT_CREATED, @send_comments)) { diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm index 8526c42d7..259a7ea90 100644 --- a/Bugzilla/User.pm +++ b/Bugzilla/User.pm @@ -1834,7 +1834,19 @@ sub wants_bug_mail { if ($wants_mail && $bug->bug_status eq 'UNCONFIRMED') { $wants_mail &= $self->wants_mail([EVT_UNCONFIRMED], $relationship); } - + + # BMO: add a hook to allow custom bugmail filtering + Bugzilla::Hook::process("user_wants_mail", { + user => $self, + wants_mail => \$wants_mail, + bug => $bug, + relationship => $relationship, + fieldDiffs => $fieldDiffs, + comments => $comments, + dep_mail => $dep_mail, + changer => $changer, + }); + return $wants_mail; } |