summaryrefslogtreecommitdiffstats
path: root/Bugzilla
diff options
context:
space:
mode:
Diffstat (limited to 'Bugzilla')
-rw-r--r--Bugzilla/BugMail.pm3
-rw-r--r--Bugzilla/User.pm12
2 files changed, 13 insertions, 2 deletions
diff --git a/Bugzilla/BugMail.pm b/Bugzilla/BugMail.pm
index bae1b2777..e78be86ec 100644
--- a/Bugzilla/BugMail.pm
+++ b/Bugzilla/BugMail.pm
@@ -418,7 +418,8 @@ sub ProcessOneBug {
$relationship,
$diffs,
$newcomments,
- $changer))
+ $changer,
+ !$start))
{
$rels_which_want{$relationship} =
$recipients{$user_id}->{$relationship};
diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm
index 961b2ca0b..09fd2f9ce 100644
--- a/Bugzilla/User.pm
+++ b/Bugzilla/User.pm
@@ -1183,7 +1183,7 @@ our %names_to_events = (
# Note: the "+" signs before the constants suppress bareword quoting.
sub wants_bug_mail {
my $self = shift;
- my ($bug_id, $relationship, $fieldDiffs, $commentField, $changer) = @_;
+ my ($bug_id, $relationship, $fieldDiffs, $commentField, $changer, $bug_is_new) = @_;
# Don't send any mail, ever, if account is disabled
# XXX Temporary Compatibility Change 1 of 2:
@@ -1228,6 +1228,16 @@ sub wants_bug_mail {
}
}
+ # You role is new if the bug itself is.
+ # Only makes sense for the assignee, QA contact and the CC list.
+ if ($bug_is_new
+ && ($relationship == REL_ASSIGNEE
+ || $relationship == REL_QA
+ || $relationship == REL_CC))
+ {
+ $events{+EVT_ADDED_REMOVED} = 1;
+ }
+
if ($commentField =~ /Created an attachment \(/) {
$events{+EVT_ATTACHMENT} = 1;
}