Bug 223880: "marked a duplicate" messages cannot be localized

Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=myk
This commit is contained in:
mkanat%bugzilla.org 2006-09-18 18:56:38 +00:00
Родитель 194ccd38c0
Коммит 83b24e12f4
6 изменённых файлов: 32 добавлений и 11 удалений

Просмотреть файл

@ -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

Просмотреть файл

@ -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());

Просмотреть файл

@ -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)

Просмотреть файл

@ -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;

Просмотреть файл

@ -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'));

Просмотреть файл

@ -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