]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 352625: "You are receiving this mail because" messages cannot be localized
authormkanat%bugzilla.org <>
Thu, 21 Sep 2006 05:01:16 +0000 (05:01 +0000)
committermkanat%bugzilla.org <>
Thu, 21 Sep 2006 05:01:16 +0000 (05:01 +0000)
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=myk, a=myk

Bugzilla/BugMail.pm
Bugzilla/Install/Filesystem.pm
template/en/default/email/newchangedmail.txt.tmpl

index 2fc8b0f723a0bfe4b088d851125e2abcc9ee616c..bae1b27773b12b2aca0e7636be980ae354f350b8 100644 (file)
@@ -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,
index 4986e4d7abca1e29c4e75d19541e91d11cab1371..cb2800dd73f8c1d24343eab67a1b01e99a7c6af9 100644 (file)
@@ -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
index 2ae08d53819a25de8acdd8fe3d902045d980e6d3..56b7636ad0ae61a26878efdc1d63619a1dd20e0e 100644 (file)
@@ -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 %]