diff options
author | mkanat%bugzilla.org <> | 2006-09-19 03:56:38 +0200 |
---|---|---|
committer | mkanat%bugzilla.org <> | 2006-09-19 03:56:38 +0200 |
commit | fef6f78c2c8b9441dfd268257d40691ec79ef9a1 (patch) | |
tree | 897795c8eac444026eeff03a1eb62d79447297ed | |
parent | 5750cad16151bf7ad028f7dc79a8ab39b2f9a07a (diff) | |
download | bugzilla-fef6f78c2c8b9441dfd268257d40691ec79ef9a1.tar.gz bugzilla-fef6f78c2c8b9441dfd268257d40691ec79ef9a1.tar.xz |
Bug 223880: "marked a duplicate" messages cannot be localized
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=myk
-rw-r--r-- | Bugzilla.pm | 11 | ||||
-rw-r--r-- | Bugzilla/BugMail.pm | 2 | ||||
-rw-r--r-- | Bugzilla/Template.pm | 6 | ||||
-rw-r--r-- | Bugzilla/Util.pm | 2 | ||||
-rwxr-xr-x | process_bug.cgi | 13 | ||||
-rw-r--r-- | template/en/default/global/messages.html.tmpl | 9 |
6 files changed, 32 insertions, 11 deletions
diff --git a/Bugzilla.pm b/Bugzilla.pm index c4300b0b5..ef67643af 100644 --- a/Bugzilla.pm +++ b/Bugzilla.pm @@ -146,6 +146,12 @@ sub template { return request_cache()->{template}; } +sub template_inner { + my $class = shift; + $class->request_cache->{template_inner} ||= Bugzilla::Template->create(); + return $class->request_cache->{template_inner}; +} + sub cgi { my $class = shift; request_cache()->{cgi} ||= new Bugzilla::CGI(); @@ -452,6 +458,11 @@ that. The current C<Template> object, to be used for output +=item C<template_inner> + +If you ever need a L<Bugzilla::Template> object while you're already +processing a template, use this. + =item C<cgi> The current C<cgi> object. Note that modules should B<not> be using this in diff --git a/Bugzilla/BugMail.pm b/Bugzilla/BugMail.pm index 35b05d231..2fc8b0f72 100644 --- a/Bugzilla/BugMail.pm +++ b/Bugzilla/BugMail.pm @@ -645,7 +645,7 @@ sub sendMail { }; my $msg; - my $template = Bugzilla::Template->create(); + my $template = Bugzilla->template_inner; $template->process("email/newchangedmail.txt.tmpl", $vars, \$msg) || ThrowTemplateError($template->error()); diff --git a/Bugzilla/Template.pm b/Bugzilla/Template.pm index a60a453d6..b54c4a0f2 100644 --- a/Bugzilla/Template.pm +++ b/Bugzilla/Template.pm @@ -331,7 +331,8 @@ sub quoteUrls { # we have to do this in one pattern, and so this is semi-messy. # Also, we can't use $bug_re?$comment_re? because that will match the # empty string - my $bug_re = qr/bug\s*\#?\s*(\d+)/i; + my $bug_word = get_text('term', { term => 'bug' }); + my $bug_re = qr/\Q$bug_word\E\s*\#?\s*(\d+)/i; my $comment_re = qr/comment\s*\#?\s*(\d+)/i; $text =~ s~\b($bug_re(?:\s*,?\s*$comment_re)?|$comment_re) ~ # We have several choices. $1 here is the link, and $2-4 are set @@ -340,7 +341,8 @@ sub quoteUrls { "<a href=\"$current_bugurl#c$4\">$1</a>") ~egox; - # Old duplicate markers + # Old duplicate markers. These don't use $bug_word because they are old + # and were never customizable. $text =~ s~(?<=^\*\*\*\ This\ bug\ has\ been\ marked\ as\ a\ duplicate\ of\ ) (\d+) (?=\ \*\*\*\Z) diff --git a/Bugzilla/Util.pm b/Bugzilla/Util.pm index c051a987f..8457c8df8 100644 --- a/Bugzilla/Util.pm +++ b/Bugzilla/Util.pm @@ -400,7 +400,7 @@ sub clean_text { sub get_text { my ($name, $vars) = @_; - my $template = Bugzilla->template; + my $template = Bugzilla->template_inner; $vars ||= {}; $vars->{'message'} = $name; my $message; diff --git a/process_bug.cgi b/process_bug.cgi index 4ca02b17b..1824dd7f3 100755 --- a/process_bug.cgi +++ b/process_bug.cgi @@ -1147,8 +1147,8 @@ SWITCH: for ($cgi->param('knob')) { ChangeStatus('RESOLVED'); ChangeResolution('DUPLICATE'); my $comment = $cgi->param('comment'); - $comment .= "\n\n*** This bug has been marked " . - "as a duplicate of bug $duplicate ***"; + $comment .= "\n\n" + . get_text('bug_duplicate_of', { dupe_of => $duplicate }); $cgi->param('comment', $comment); last SWITCH; }; @@ -2025,11 +2025,10 @@ foreach my $id (@idlist) { $dbh->do(q{INSERT INTO cc (who, bug_id) VALUES (?, ?)}, undef, $reporter, $duplicate); } - # Bug 171639 - Duplicate notifications do not need to be private. - AppendComment($duplicate, $whoid, - "*** Bug " . $cgi->param('id') . - " has been marked as a duplicate of this bug. ***", - 0, $timestamp); + my $dupe_comment = get_text('bug_has_duplicate', + { dupe => $cgi->param('id') }); + # Bug 171639 - Duplicate notifications do not need to be private. + AppendComment($duplicate, $whoid, $dupe_comment, 0, $timestamp); $dbh->do(q{INSERT INTO duplicates VALUES (?, ?)}, undef, $duplicate, $cgi->param('id')); diff --git a/template/en/default/global/messages.html.tmpl b/template/en/default/global/messages.html.tmpl index 21c79b8ac..3d05214dc 100644 --- a/template/en/default/global/messages.html.tmpl +++ b/template/en/default/global/messages.html.tmpl @@ -121,6 +121,12 @@ Please add your attachment by clicking the "Create a New Attachment" link below. + [% ELSIF message_tag == "bug_duplicate_of" %] + *** This [% terms.bug %] has been marked as a duplicate of [% terms.bug %] [%+ dupe_of FILTER html %] *** + + [% ELSIF message_tag == "bug_has_duplicate" %] + *** [% terms.Bug %] [%+ dupe FILTER html %] has been marked as a duplicate of this [% terms.bug %]. *** + [% ELSIF message_tag == "buglist_adding_field" %] [% title = "Adding field to search page..." %] [% link = "Click here if the page does not redisplay automatically." %] @@ -386,6 +392,9 @@ The cookie that was remembering your login is now gone. [% END %] + [% ELSIF message_tag == "term" %] + [% terms.$term FILTER html %] + [% ELSIF message_tag == "user_match_failed" %] You entered a username that did not match any known [% terms.Bugzilla %] users, so we have instead left |