diff options
-rw-r--r-- | Bugzilla/BugMail.pm | 41 | ||||
-rw-r--r-- | Bugzilla/Install/Filesystem.pm | 1 | ||||
-rw-r--r-- | template/en/default/email/newchangedmail.txt.tmpl | 31 |
3 files changed, 41 insertions, 32 deletions
diff --git a/Bugzilla/BugMail.pm b/Bugzilla/BugMail.pm index 2fc8b0f72..bae1b2777 100644 --- a/Bugzilla/BugMail.pm +++ b/Bugzilla/BugMail.pm @@ -555,29 +555,6 @@ sub sendMail { return 0; } - # XXX: This needs making localisable, probably by passing the role to - # the email template and letting it choose the text. - my $reasonsbody = "------- You are receiving this mail because: -------\n"; - - while (my ($relationship, $bits) = each %{$relRef}) { - if ($relationship == REL_ASSIGNEE) { - $reasonsbody .= "You are the assignee for the bug.\n" if ($bits & BIT_DIRECT); - $reasonsbody .= "You are watching the assignee for the bug.\n" if ($bits & BIT_WATCHING); - } elsif ($relationship == REL_REPORTER) { - $reasonsbody .= "You reported the bug.\n" if ($bits & BIT_DIRECT); - $reasonsbody .= "You are watching the reporter.\n" if ($bits & BIT_WATCHING); - } elsif ($relationship == REL_QA) { - $reasonsbody .= "You are the QA contact for the bug.\n" if ($bits & BIT_DIRECT); - $reasonsbody .= "You are watching the QA contact for the bug.\n" if ($bits & BIT_WATCHING); - } elsif ($relationship == REL_CC) { - $reasonsbody .= "You are on the CC list for the bug.\n" if ($bits & BIT_DIRECT); - $reasonsbody .= "You are watching someone on the CC list for the bug.\n" if ($bits & BIT_WATCHING); - } elsif ($relationship == REL_VOTER) { - $reasonsbody .= "You are a voter for the bug.\n" if ($bits & BIT_DIRECT); - $reasonsbody .= "You are watching a voter for the bug.\n" if ($bits & BIT_WATCHING); - } - } - my $isnew = !$start; # If an attachment was created, then add an URL. (Note: the 'g'lobal @@ -598,13 +575,16 @@ sub sendMail { $diffs = $difftext . "\n\n" . $newcomments; } - my (@headerrel, @watchingrel); - while (my ($rel, $bits) = each %{$relRef}) { - push @headerrel, (REL_NAMES->{$rel}) if ($bits & BIT_DIRECT); - push @watchingrel, (REL_NAMES->{$rel}) if ($bits & BIT_WATCHING); + my (@reasons, @reasons_watch); + while (my ($relationship, $bits) = each %{$relRef}) { + push(@reasons, $relationship) if ($bits & BIT_DIRECT); + push(@reasons_watch, $relationship) if ($bits & BIT_WATCHING); } - push @headerrel, 'None' if !scalar(@headerrel); - push @watchingrel, 'None' if !scalar(@watchingrel); + + my @headerrel = map { REL_NAMES->{$_} } @reasons; + my @watchingrel = map { REL_NAMES->{$_} } @reasons_watch; + push(@headerrel, 'None') unless @headerrel; + push(@watchingrel, 'None') unless @watchingrel; push @watchingrel, map { user_id_to_login($_) } @$watchingRef; my $sitespec = '@' . Bugzilla->params->{'urlbase'}; @@ -635,9 +615,10 @@ sub sendMail { targetmilestone => $values{'target_milestone'}, changedfields => $values{'changed_fields'}, summary => $values{'short_desc'}, + reasons => \@reasons, + reasons_watch => \@reasons_watch, reasonsheader => join(" ", @headerrel), reasonswatchheader => join(" ", @watchingrel), - reasonsbody => $reasonsbody, changer => $values{'changer'}, changername => $values{'changername'}, diffs => $diffs, diff --git a/Bugzilla/Install/Filesystem.pm b/Bugzilla/Install/Filesystem.pm index 4986e4d7a..cb2800dd7 100644 --- a/Bugzilla/Install/Filesystem.pm +++ b/Bugzilla/Install/Filesystem.pm @@ -114,6 +114,7 @@ sub FILESYSTEM { 'docs/README.docs' => { perms => $owner_readable }, "$datadir/bugzilla-update.xml" => { perms => $ws_writeable }, "$datadir/params" => { perms => $ws_writeable }, + "$datadir/mailer.testfile" => { perms => $ws_writeable }, ); # Directories that we want to set the perms on, but not diff --git a/template/en/default/email/newchangedmail.txt.tmpl b/template/en/default/email/newchangedmail.txt.tmpl index 2ae08d538..56b7636ad 100644 --- a/template/en/default/email/newchangedmail.txt.tmpl +++ b/template/en/default/email/newchangedmail.txt.tmpl @@ -43,5 +43,32 @@ X-Bugzilla-Changed-Fields: [% changedfields %] -- Configure bugmail: [% Param('urlbase') %]userprefs.cgi?tab=email -[%+ reasonsbody %] - +------- You are receiving this mail because: ------- +[% FOREACH relationship = reasons %] + [% SWITCH relationship %] + [% CASE constants.REL_ASSIGNEE %] +You are the assignee for the [% terms.bug %]. + [% CASE constants.REL_REPORTER %] +You reported the [% terms.bug %]. + [% CASE constants.REL_QA %] +You are the QA contact for the [% terms.bug %]. + [% CASE constants.REL_CC %] +You are on the CC list for the [% terms.bug %]. + [% CASE constants.REL_VOTER %] +You are a voter for the [% terms.bug %]. + [% END %] +[% END %] +[% FOREACH relationship = reasons_watch %] + [% SWITCH relationship %] + [% CASE constants.REL_ASSIGNEE %] +You are watching the assignee of the [% terms.bug %]. + [% CASE constants.REL_REPORTER %] +You watching the reporter. + [% CASE constants.REL_QA %] +You are watching the QA contact of the [% terms.bug %]. + [% CASE constants.REL_CC %] +You are watching someone on the CC list of the [% terms.bug %]. + [% CASE constants.REL_VOTER %] +You are watching a voter for the [% terms.bug %]. + [% END %] +[% END %] |