Commit 44b48df3 authored by gerv%gerv.net's avatar gerv%gerv.net

Bug 13540 - allow key terms, like "Bugzilla" and "bug", to be altered without…

Bug 13540 - allow key terms, like "Bugzilla" and "bug", to be altered without changing all the templates. Patch by jwilmoth@starbucks.com; r=gerv, a=justdave.
parent 7b35e1a2
...@@ -136,6 +136,9 @@ foreach my $path (@Support::Templates::include_paths) { ...@@ -136,6 +136,9 @@ foreach my $path (@Support::Templates::include_paths) {
# Special Template Toolkit loop variable # Special Template Toolkit loop variable
next if $directive =~ /^loop\.(index|count)$/; next if $directive =~ /^loop\.(index|count)$/;
# Branding terms
next if $directive =~ /^terms\./;
# Things which are already filtered # Things which are already filtered
# Note: If a single directive prints two things, and only one is # Note: If a single directive prints two things, and only one is
# filtered, we may not catch that case. # filtered, we may not catch that case.
......
...@@ -25,6 +25,8 @@ ...@@ -25,6 +25,8 @@
# of the error. # of the error.
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% SWITCH auth_err_tag %] [% SWITCH auth_err_tag %]
[% CASE "cannot_retreive_attr" %] [% CASE "cannot_retreive_attr" %]
The specified LDAP attribute [% info.attr FILTER html %] was not found. The specified LDAP attribute [% info.attr FILTER html %] was not found.
...@@ -36,12 +38,12 @@ ...@@ -36,12 +38,12 @@
[% END %] [% END %]
[% CASE "no_userid" %] [% CASE "no_userid" %]
Bugzilla created a new account for you, but then could not find the [% terms.Bugzilla %] created a new account for you, but then could not find the
new userid. new userid.
[% CASE "server_not_defined" %] [% CASE "server_not_defined" %]
The LDAP server for authentication has not been defined. The LDAP server for authentication has not been defined.
[% CASE %] [% CASE %]
Unhandled authentication error: [% auth_err_tag FILTER html %] Unhandled authentication error: [% auth_err_tag FILTER html %]
......
...@@ -22,11 +22,13 @@ ...@@ -22,11 +22,13 @@
[%# INTERFACE: [%# INTERFACE:
# target: string. URL to go to after login. # target: string. URL to go to after login.
# form: hash; the form values which need to be submitted to the target script # form: hash; the form values which need to be submitted to the target script
# mform: hash; the form values with multiple values which need to be # mform: hash; the form values with multiple values which need to be
# submitted to the target script # submitted to the target script
#%] #%]
[% PROCESS global/header.html.tmpl [% PROCESS global/variables.none.tmpl %]
[% PROCESS global/header.html.tmpl
title = "Login" title = "Login"
%] %]
...@@ -68,23 +70,23 @@ ...@@ -68,23 +70,23 @@
[% END %] [% END %]
</tr> </tr>
</table> </table>
[% PROCESS "global/hidden-fields.html.tmpl" [% PROCESS "global/hidden-fields.html.tmpl"
exclude="^Bugzilla_(login|password|restrictlogin)$" %] exclude="^Bugzilla_(login|password|restrictlogin)$" %]
<input type="submit" name="GoAheadAndLogIn" value="Login"> <input type="submit" name="GoAheadAndLogIn" value="Login">
</form> </form>
[%# Allow the user to create a new account, or request a token to change [%# Allow the user to create a new account, or request a token to change
# their password, assuming that our auth method allows that. # their password, assuming that our auth method allows that.
#%] #%]
[% IF caneditaccount %] [% IF caneditaccount %]
<hr> <hr>
[% IF Param("createemailregexp") %] [% IF Param("createemailregexp") %]
<p> <p>
If you don't have a Bugzilla account, you can If you don't have a [% terms.Bugzilla %] account, you can
<a href="createaccount.cgi">create a new account</a>. <a href="createaccount.cgi">create a new account</a>.
</p> </p>
[% END %] [% END %]
...@@ -92,7 +94,7 @@ ...@@ -92,7 +94,7 @@
<form method="get" action="token.cgi"> <form method="get" action="token.cgi">
<input type="hidden" name="a" value="reqpw"> <input type="hidden" name="a" value="reqpw">
If you have an account, but have forgotten your password, If you have an account, but have forgotten your password,
enter your login name below and submit a request enter your login name below and submit a request
to change your password.<br> to change your password.<br>
<input size="35" name="loginname"> <input size="35" name="loginname">
<input type="submit" value="Submit Request"> <input type="submit" value="Submit Request">
......
...@@ -19,16 +19,19 @@ ...@@ -19,16 +19,19 @@
# Contributor(s): John Vandenberg <zeroj@null.net> # Contributor(s): John Vandenberg <zeroj@null.net>
# Tobias Burnus <burnus@net-b.de> # Tobias Burnus <burnus@net-b.de>
#%] #%]
[% PROCESS global/variables.none.tmpl %]
From: bugzilla-admin-daemon From: bugzilla-admin-daemon
To: [% emailaddress %] To: [% emailaddress %]
Subject: [% PROCESS subject %] Subject: [% PROCESS subject %]
A request was cancelled from [% remoteaddress %]. A request was cancelled from [% remoteaddress %].
If you did not request this, it could be either an honest If you did not request this, it could be either an honest
mistake or someone attempting to break into your Bugzilla account. mistake or someone attempting to break into your [% terms.Bugzilla %] account.
Take a look at the information below and forward this email Take a look at the information below and forward this email
to [% maintainer %] if you suspect foul play. to [% maintainer %] if you suspect foul play.
Token: [% token %] Token: [% token %]
...@@ -84,12 +87,12 @@ Cancelled Because: ...@@ -84,12 +87,12 @@ Cancelled Because:
[% ELSE %] [% ELSE %]
[%# Give sensible error if the cancel-token function is used incorrectly. [%# Give sensible error if the cancel-token function is used incorrectly.
#%] #%]
You are using Bugzilla's cancel-token function incorrectly. You You are using [% terms.Bugzilla %]'s cancel-token function incorrectly. You
passed in the string '[% cancelaction %]'. The correct use is to pass passed in the string '[% cancelaction %]'. The correct use is to pass
in a tag, and define that tag in the file cancel-token.txt.tmpl. in a tag, and define that tag in the file cancel-token.txt.tmpl.
If you are a Bugzilla end-user seeing this message, please forward this If you are a [% terms.Bugzilla %] end-user seeing this message, please forward this
email to [% Param('maintainer') %]. email to [% Param('maintainer') %].
[% END %] [% END %]
[% END %] [% END %]
...@@ -19,14 +19,17 @@ ...@@ -19,14 +19,17 @@
# Contributor(s): Gervase Markham <gerv@gerv.net> # Contributor(s): Gervase Markham <gerv@gerv.net>
#%] #%]
[% PROCESS global/header.html.tmpl [% PROCESS global/variables.none.tmpl %]
title = "Create a new Bugzilla account"
%] [% title = BLOCK %]
Create a new [% terms.Bugzilla %] account
[% END %]
[% PROCESS global/header.html.tmpl %]
<p> <p>
To create a Bugzilla account, all that you need to do is to enter a To create a [% terms.Bugzilla %] account, all that you need to do is to enter a
legitimate e-mail address. The account will be created, and its legitimate e-mail address. The account will be created, and its
password will be mailed to you. Optionally you may enter your real name password will be mailed to you. Optionally you may enter your real name
as well. as well.
</p> </p>
...@@ -41,7 +44,7 @@ ...@@ -41,7 +44,7 @@
[% Param('emailsuffix') FILTER html %] [% Param('emailsuffix') FILTER html %]
</td> </td>
</tr> </tr>
<tr> <tr>
<td align="right"> <td align="right">
<b>Real name:</b> <b>Real name:</b>
...@@ -55,4 +58,4 @@ ...@@ -55,4 +58,4 @@
<input type="submit" value="Create Account"> <input type="submit" value="Create Account">
</form> </form>
[% PROCESS global/footer.html.tmpl %] [% PROCESS global/footer.html.tmpl %]
...@@ -18,12 +18,15 @@ ...@@ -18,12 +18,15 @@
# #
# Contributor(s): John Vandenberg <zeroj@null.net> # Contributor(s): John Vandenberg <zeroj@null.net>
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% expiration_ts = token_ts + (max_token_age * 86400) %] [% expiration_ts = token_ts + (max_token_age * 86400) %]
From: bugzilla-admin-daemon From: bugzilla-admin-daemon
To: [% emailaddress %] To: [% emailaddress %]
Subject: Bugzilla Change Email Address Request Subject: [% terms.Bugzilla %] Change Email Address Request
Bugzilla has received a request to change the email address [% terms.Bugzilla %] has received a request to change the email address
for the [% oldemailaddress %] account to your address. for the [% oldemailaddress %] account to your address.
To confirm the change, visit the following link: To confirm the change, visit the following link:
...@@ -35,5 +38,5 @@ this request, visit the following link: ...@@ -35,5 +38,5 @@ this request, visit the following link:
[% Param('urlbase') %]token.cgi?a=cxlem&t=[% token FILTER url_quote %] [% Param('urlbase') %]token.cgi?a=cxlem&t=[% token FILTER url_quote %]
If you do nothing, the request will lapse after If you do nothing, the request will lapse after
[%- max_token_age %] days ([% time2str("%H:%M on the %o of %B, %Y", expiration_ts) %]). [%- max_token_age %] days ([% time2str("%H:%M on the %o of %B, %Y", expiration_ts) %]).
...@@ -23,15 +23,18 @@ ...@@ -23,15 +23,18 @@
# newemailaddress: string. The user's new Bugzilla login email address. # newemailaddress: string. The user's new Bugzilla login email address.
# token: string. The token associated with this change. # token: string. The token associated with this change.
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% expiration_ts = token_ts + (max_token_age * 86400) %] [% expiration_ts = token_ts + (max_token_age * 86400) %]
From: bugzilla-admin-daemon From: bugzilla-admin-daemon
To: [% emailaddress %] To: [% emailaddress %]
Subject: Bugzilla Change Email Address Request Subject: [% terms.Bugzilla %] Change Email Address Request
Importance: High Importance: High
X-MSMail-Priority: High X-MSMail-Priority: High
X-Priority: 1 X-Priority: 1
Bugzilla has received a request to change the email address [% terms.Bugzilla %] has received a request to change the email address
for your account to [% newemailaddress %]. for your account to [% newemailaddress %].
If you are not the person who made this request, or you wish to cancel If you are not the person who made this request, or you wish to cancel
...@@ -39,6 +42,6 @@ this request, visit the following link: ...@@ -39,6 +42,6 @@ this request, visit the following link:
[% Param('urlbase') %]token.cgi?a=cxlem&t=[% token FILTER url_quote %] [% Param('urlbase') %]token.cgi?a=cxlem&t=[% token FILTER url_quote %]
If you do nothing, and [% newemailaddress %] confirms this request, the If you do nothing, and [% newemailaddress %] confirms this request, the
change will be made permanent after change will be made permanent after
[%- max_token_age %] days ([% time2str("%H:%M on the %o of %B, %Y", expiration_ts) %]). [%- max_token_age %] days ([% time2str("%H:%M on the %o of %B, %Y", expiration_ts) %]).
...@@ -23,15 +23,17 @@ ...@@ -23,15 +23,17 @@
# login: string. The user's Bugzilla login email address. # login: string. The user's Bugzilla login email address.
#%] #%]
[% PROCESS global/header.html.tmpl [% PROCESS global/variables.none.tmpl %]
[% PROCESS global/header.html.tmpl
title = "Account Exists" title = "Account Exists"
%] %]
<form method="get" action="token.cgi"> <form method="get" action="token.cgi">
<input type="hidden" name="a" value="reqpw"> <input type="hidden" name="a" value="reqpw">
<input type="hidden" name="loginname" value="[% login FILTER html %]"> <input type="hidden" name="loginname" value="[% login FILTER html %]">
A Bugzilla account for <tt>[% login FILTER html %]</tt> already exists. If you A [% terms.Bugzilla %] account for <tt>[% login FILTER html %]</tt> already exists. If you
are the account holder and have forgotten your password, are the account holder and have forgotten your password,
<input type="submit" value="submit a request to change it">. <input type="submit" value="submit a request to change it">.
</form> </form>
......
...@@ -18,13 +18,16 @@ ...@@ -18,13 +18,16 @@
# #
# Contributor(s): John Vandenberg <zeroj@null.net> # Contributor(s): John Vandenberg <zeroj@null.net>
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% expiration_ts = token_ts + (max_token_age * 86400) %] [% expiration_ts = token_ts + (max_token_age * 86400) %]
From: bugzilla-admin-daemon From: bugzilla-admin-daemon
To: [% emailaddress %] To: [% emailaddress %]
Subject: Bugzilla Change Password Request Subject: [% terms.Bugzilla %] Change Password Request
You (or someone impersonating you) has requested to change your Bugzilla You (or someone impersonating you) has requested to change your [% terms.Bugzilla %]
password. To change your password, visit the following link: &nbsp;password. To change your password, visit the following link:
[%+ Param('urlbase') %]token.cgi?a=cfmpw&t=[% token FILTER url_quote %] [%+ Param('urlbase') %]token.cgi?a=cfmpw&t=[% token FILTER url_quote %]
...@@ -33,6 +36,6 @@ this request, visit the following link: ...@@ -33,6 +36,6 @@ this request, visit the following link:
[%+ Param('urlbase') %]token.cgi?a=cxlpw&t=[% token FILTER url_quote %] [%+ Param('urlbase') %]token.cgi?a=cxlpw&t=[% token FILTER url_quote %]
If you do nothing, the request will lapse after If you do nothing, the request will lapse after
[%- max_token_age %] days [%- max_token_age %] days
([% time2str("%H:%M on the %o of %B, %Y", expiration_ts) -%]) or when you log in successfully. ([% time2str("%H:%M on the %o of %B, %Y", expiration_ts) -%]) or when you log in successfully.
...@@ -21,19 +21,21 @@ ...@@ -21,19 +21,21 @@
#%] #%]
[%# INTERFACE: [%# INTERFACE:
# watchedusers: string. # watchedusers: string.
# Comma-separated list of email addresses this user watches. # Comma-separated list of email addresses this user watches.
# excludeself: boolean. # excludeself: boolean.
# True if user is not receiving self-generated mail. # True if user is not receiving self-generated mail.
# <rolename>: Multiple hashes, one for each rolename (e.g. owner; see # <rolename>: Multiple hashes, one for each rolename (e.g. owner; see
# below), keyed by reasonname (e.g. comments; again, see # below), keyed by reasonname (e.g. comments; again, see
# below). The value is a boolean - true if the user is # below). The value is a boolean - true if the user is
# receiving mail for that reason when in that role. # receiving mail for that reason when in that role.
# Also references the 'supportwatchers' Param. # Also references the 'supportwatchers' Param.
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% useqacontact = Param('useqacontact') %] [% useqacontact = Param('useqacontact') %]
<table> <table>
[% IF Param('supportwatchers') %] [% IF Param('supportwatchers') %]
<tr> <tr>
...@@ -45,8 +47,8 @@ ...@@ -45,8 +47,8 @@
<tr> <tr>
<td colspan="4"> <td colspan="4">
If you want to help cover for someone when they're on vacation, or if If you want to help cover for someone when they're on vacation, or if
you need to do the QA related to all of their bugs, you can tell you need to do the QA related to all of their [% terms.bugs %], you can tell
Bugzilla to send mail related to their bugs to you also. List the [% terms.Bugzilla %] to send mail related to their [% terms.bugs %] to you also. List the
email addresses of any users you wish to watch here, separated by email addresses of any users you wish to watch here, separated by
commas. commas.
</td> </td>
...@@ -64,7 +66,7 @@ ...@@ -64,7 +66,7 @@
<td colspan="2"> <td colspan="2">
<p> <p>
If you don't like getting a notification for "trivial" If you don't like getting a notification for "trivial"
changes to bugs, you can use the settings below to changes to [% terms.bugs %], you can use the settings below to
filter some (or even all) notifications. filter some (or even all) notifications.
</p> </p>
</td> </td>
...@@ -138,7 +140,7 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb ...@@ -138,7 +140,7 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb
<table width="100%" border="1"> <table width="100%" border="1">
<tr> <tr>
<td colspan="[% useqacontact ? '5' : '4' %]" align="center" width="50%"> <td colspan="[% useqacontact ? '5' : '4' %]" align="center" width="50%">
<b>When my relationship to this bug is:</b> <b>When my relationship to this [% terms.bug %] is:</b>
</td> </td>
<td rowspan="2" width="50%"> <td rowspan="2" width="50%">
<b>I want to receive mail when:</b> <b>I want to receive mail when:</b>
...@@ -165,28 +167,32 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb ...@@ -165,28 +167,32 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb
</td> </td>
</tr> </tr>
[% FOREACH reason = [ [% bugLabelLower = BLOCK %]
{ name = 'Removeme', [% terms.bug %]
description = 'I\'m added to or removed from this capacity' }, [% END %]
{ name = 'Comments',
description = 'New Comments are added' }, [% FOREACH reason = [
{ name = 'Attachments', { name = 'Removeme',
description = 'New Attachments are added' }, description = "I'm added to or removed from this capacity" },
{ name = 'Status', { name = 'Comments',
description = 'Priority, status, severity, and/or milestone changes' }, description = "New Comments are added" },
{ name = 'Resolved', { name = 'Attachments',
description = 'The bug is resolved or verified' }, description = "New Attachments are added" },
{ name = 'Keywords', { name = 'Status',
description = 'Keywords field changes' }, description = "Priority, status, severity, and/or milestone changes" },
{ name = 'CC', { name = 'Resolved',
description = 'CC field changes' }, description = "The ${bugLabelLower} is resolved or verified" },
{ name = 'Other', { name = 'Keywords',
description = 'Any field not mentioned above changes' }, description = "Keywords field changes" },
{ name = 'Unconfirmed', { name = 'CC',
description = 'The bug is in the unconfirmed state' }, description = "CC field changes" },
{ name = 'Other',
description = "Any field not mentioned above changes" },
{ name = 'Unconfirmed',
description = "The ${bugLabelLower} is in the unconfirmed state" },
] %] ] %]
<tr> <tr>
[% FOREACH role = [ "Reporter", "Owner", "QAcontact", "CClist", "Voter" ] [% FOREACH role = [ "Reporter", "Owner", "QAcontact", "CClist", "Voter" ]
%] %]
[% NEXT IF role == "QAcontact" AND NOT useqacontact %] [% NEXT IF role == "QAcontact" AND NOT useqacontact %]
<td align="center"> <td align="center">
...@@ -199,6 +205,6 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb ...@@ -199,6 +205,6 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb
</td> </td>
</tr> </tr>
[% END %] [% END %]
</table> </table>
<br> <br>
...@@ -20,25 +20,27 @@ ...@@ -20,25 +20,27 @@
#%] #%]
[%# INTERFACE: [%# INTERFACE:
# mybugslink: boolean. True if the user wishes the My Bugs link to appear. # mybugslink: boolean. True if the user wishes the My Bugs link to appear.
# queries: array of hashes. May be empty. Each hash has two members: # queries: array of hashes. May be empty. Each hash has two members:
# name: string. The name of the query. # name: string. The name of the query.
# footer: boolean. True if the query appears in the footer. # footer: boolean. True if the query appears in the footer.
#%] #%]
[% PROCESS global/variables.none.tmpl %]
<table> <table>
<tr> <tr>
<th align="right">The 'My bugs' link:</th> <th align="right">The 'My [% terms.bugs %]' link:</th>
<td> <td>
<select name="mybugslink"> <select name="mybugslink">
<option value="1">should appear on the footer of every page</option> <option value="1">should appear on the footer of every page</option>
<option value="0" <option value="0"
[% " selected" IF NOT mybugslink %]>should not be displayed [% " selected" IF NOT mybugslink %]>should not be displayed
</option> </option>
</select> </select>
</td> </td>
</tr> </tr>
<input type="hidden" name="numqueries" value="[% queries.size %]"> <input type="hidden" name="numqueries" value="[% queries.size %]">
[% IF queries.size %] [% IF queries.size %]
[% FOREACH query = queries %] [% FOREACH query = queries %]
...@@ -46,31 +48,31 @@ ...@@ -46,31 +48,31 @@
<th align="right">Your query named '[% query.name FILTER html %]':</th> <th align="right">Your query named '[% query.name FILTER html %]':</th>
<td> <td>
<select name="query-[% loop.index %]"> <select name="query-[% loop.index %]">
<option value="0">should only appear in the query page</option> <option value="0">should only appear in the query page</option>
<option value="1" <option value="1"
[% " selected" IF query.footer %]> [% " selected" IF query.footer %]>
should appear on the footer of every page should appear on the footer of every page
</option> </option>
</select> </select>
</td> </td>
</tr> </tr>
<input type="hidden" name="name-[% loop.index %]" <input type="hidden" name="name-[% loop.index %]"
value="[% query.name FILTER html %]"> value="[% query.name FILTER html %]">
[% END %] [% END %]
[% ELSE %] [% ELSE %]
<tr> <tr>
<td colspan="4"> <td colspan="4">
<br> <br>
If you create remembered queries using the If you create remembered queries using the
<a href="query.cgi">query page</a>, <a href="query.cgi">query page</a>,
you can then come to this page and choose to have some of them you can then come to this page and choose to have some of them
appear in the footer of each Bugzilla page. appear in the footer of each [% terms.Bugzilla %] page.
<br> <br>
<br> <br>
</td> </td>
</tr> </tr>
[% END %] [% END %]
</table> </table>
...@@ -21,20 +21,22 @@ ...@@ -21,20 +21,22 @@
[%# INTERFACE: [%# INTERFACE:
# has_bits: array of hashes. May be empty. # has_bits: array of hashes. May be empty.
# name => Names of the permissions the user has. # name => Names of the permissions the user has.
# desc => Descriptions of the permissions the user has. # desc => Descriptions of the permissions the user has.
# set_bits: array of hashes. May be empty. # set_bits: array of hashes. May be empty.
# name => Names of the permissions the user can set for # name => Names of the permissions the user can set for
# other people. # other people.
# desc => Descriptions of the permissions the user can set for # desc => Descriptions of the permissions the user can set for
# other people. # other people.
#%] #%]
[% PROCESS global/variables.none.tmpl %]
<table align="center"> <table align="center">
<tr> <tr>
<td> <td>
[% IF has_bits.size %] [% IF has_bits.size %]
You have the following permission bits set on your account: You have the following permission [% terms.bits %] set on your account:
<p> <p>
<br> <br>
<table align="center"> <table align="center">
...@@ -46,16 +48,16 @@ ...@@ -46,16 +48,16 @@
[% END %] [% END %]
</table> </table>
[% ELSE %] [% ELSE %]
There are no permission bits set on your account. There are no permission [% terms.bits %] set on your account.
[% END %] [% END %]
[% IF user.groups.editusers %] [% IF user.groups.editusers %]
<br> <br>
You have editusers privileges. You can turn on and off You have editusers privileges. You can turn on and off
all permissions for all users. all permissions for all users.
[% ELSIF set_bits.size %] [% ELSIF set_bits.size %]
<br> <br>
And you can turn on or off the following bits for And you can turn on or off the following [% terms.bits %] for
<a href="editusers.cgi">other users</a>: <a href="editusers.cgi">other users</a>:
<p> <p>
<table align="center"> <table align="center">
......
...@@ -19,20 +19,22 @@ ...@@ -19,20 +19,22 @@
# Contributor(s): Myk Melez <myk@mozilla.org> # Contributor(s): Myk Melez <myk@mozilla.org>
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[%# Filter off the name here to be used multiple times below %] [%# Filter off the name here to be used multiple times below %]
[% name = BLOCK %][% flag_type.name FILTER html %][% END %] [% name = BLOCK %][% flag_type.name FILTER html %][% END %]
[% PROCESS global/header.html.tmpl [% PROCESS global/header.html.tmpl
title = "Confirm Deletion of Flag Type '$name'" title = "Confirm Deletion of Flag Type '$name'"
%] %]
<p> <p>
There are [% flag_count %] flags of type [% name %]. There are [% flag_count %] flags of type [% name %].
If you delete this type, those flags will also be deleted. Note that If you delete this type, those flags will also be deleted. Note that
instead of deleting the type you can instead of deleting the type you can
<a href="editflagtypes.cgi?action=deactivate&amp;id=[% flag_type.id %]">deactivate it</a>, <a href="editflagtypes.cgi?action=deactivate&amp;id=[% flag_type.id %]">deactivate it</a>,
in which case the type and its flags will remain in the database in which case the type and its flags will remain in the database
but will not appear in the Bugzilla UI. but will not appear in the [% terms.Bugzilla %] UI.
</p> </p>
<table> <table>
......
...@@ -19,6 +19,8 @@ ...@@ -19,6 +19,8 @@
# Contributor(s): Myk Melez <myk@mozilla.org> # Contributor(s): Myk Melez <myk@mozilla.org>
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[%# The javascript and header_html blocks get used in header.html.tmpl. %] [%# The javascript and header_html blocks get used in header.html.tmpl. %]
[% javascript = BLOCK %] [% javascript = BLOCK %]
var usetms = 0; // do we have target milestone? var usetms = 0; // do we have target milestone?
...@@ -26,7 +28,7 @@ ...@@ -26,7 +28,7 @@
var last_sel = []; // caches last selection var last_sel = []; // caches last selection
var cpts = new Array(); var cpts = new Array();
[% FOREACH p = products %] [% FOREACH p = products %]
cpts['[% p FILTER js %]'] = [ cpts['[% p FILTER js %]'] = [
[%- FOREACH item = components_by_product.$p %]'[% item FILTER js %]'[% ", " UNLESS loop.last %] [%- END -%] ]; [%- FOREACH item = components_by_product.$p %]'[% item FILTER js %]'[% ", " UNLESS loop.last %] [%- END -%] ];
[% END %] [% END %]
[% END %] [% END %]
...@@ -36,9 +38,13 @@ ...@@ -36,9 +38,13 @@
[% END %] [% END %]
[% IF type.target_type == "bug" %] [% IF type.target_type == "bug" %]
[% title = "Create Flag Type for Bugs" %] [% title = BLOCK %]Create Flag Type for [% terms.Bugs %][% END %]
[% typeLabelLowerPlural = BLOCK %][% terms.bugs %][% END %]
[% typeLabelLowerSingular = BLOCK %][% terms.bug %][% END %]
[% ELSE %] [% ELSE %]
[% title = "Create Flag Type for Attachments" %] [% title = "Create Flag Type for Attachments" %]
[% typeLabelLowerPlural = BLOCK %]attachments[% END %]
[% typeLabelLowerSingular = BLOCK %]attachment[% END %]
[% END %] [% END %]
[% IF last_action == "copy" %] [% IF last_action == "copy" %]
...@@ -47,7 +53,7 @@ ...@@ -47,7 +53,7 @@
[% title = "Edit Flag Type $type.name" %] [% title = "Edit Flag Type $type.name" %]
[% END %] [% END %]
[% PROCESS global/header.html.tmpl [% PROCESS global/header.html.tmpl
title = title title = title
style = " style = "
table#form th { text-align: right; vertical-align: baseline; white-space: nowrap; } table#form th { text-align: right; vertical-align: baseline; white-space: nowrap; }
...@@ -66,13 +72,13 @@ ...@@ -66,13 +72,13 @@
[% FOREACH category = type.exclusions %] [% FOREACH category = type.exclusions %]
<input type="hidden" name="exclusions" value="[% category %]"> <input type="hidden" name="exclusions" value="[% category %]">
[% END %] [% END %]
<table id="form" cellspacing="0" cellpadding="4" border="0"> <table id="form" cellspacing="0" cellpadding="4" border="0">
<tr> <tr>
<th>Name:</th> <th>Name:</th>
<td> <td>
a short name identifying this type<br> a short name identifying this type<br>
<input type="text" name="name" value="[% type.name FILTER html %]" <input type="text" name="name" value="[% type.name FILTER html %]"
size="50" maxlength="50"> size="50" maxlength="50">
</td> </td>
</tr> </tr>
...@@ -84,12 +90,13 @@ ...@@ -84,12 +90,13 @@
<textarea name="description" rows="4" cols="80">[% type.description FILTER html %]</textarea> <textarea name="description" rows="4" cols="80">[% type.description FILTER html %]</textarea>
</td> </td>
</tr> </tr>
<tr> <tr>
<th>Category:</th> <th>Category:</th>
<td> <td>
the products/components to which [% type.target_type %]s must the products/components to which [% typeLabelLowerPlural %] must
(inclusions) or must not (exclusions) belong in order for users (inclusions) or must not (exclusions) belong in order for users
to be able to set flags of this type for them to be able to set flags of this type for them
<table> <table>
<tr> <tr>
...@@ -124,11 +131,11 @@ ...@@ -124,11 +131,11 @@
</table> </table>
</td> </td>
</tr> </tr>
<tr> <tr>
<th>Sort Key:</th> <th>Sort Key:</th>
<td> <td>
a number between 1 and 32767 by which this type will be sorted a number between 1 and 32767 by which this type will be sorted
when displayed to users in a list; ignore if you don't care when displayed to users in a list; ignore if you don't care
what order the types appear in or if you want them to appear what order the types appear in or if you want them to appear
in alphabetical order<br> in alphabetical order<br>
...@@ -147,7 +154,7 @@ ...@@ -147,7 +154,7 @@
<tr> <tr>
<th>&nbsp;</th> <th>&nbsp;</th>
<td> <td>
<input type="checkbox" name="is_requestable" [% "checked" IF type.is_requestable || !type.is_requestable.defined %]> <input type="checkbox" name="is_requestable" [% "checked" IF type.is_requestable || !type.is_requestable.defined %]>
requestable (users can ask for flags of this type to be set) requestable (users can ask for flags of this type to be set)
</td> </td>
</tr> </tr>
...@@ -159,11 +166,11 @@ ...@@ -159,11 +166,11 @@
<input type="text" name="cc_list" value="[% type.cc_list FILTER html %]" size="80" maxlength="200"> <input type="text" name="cc_list" value="[% type.cc_list FILTER html %]" size="80" maxlength="200">
</td> </td>
</tr> </tr>
<tr> <tr>
<th>&nbsp;</th> <th>&nbsp;</th>
<td> <td>
<input type="checkbox" name="is_requesteeble" [% "checked" IF type.is_requesteeble || !type.is_requesteeble.defined %]> <input type="checkbox" name="is_requesteeble" [% "checked" IF type.is_requesteeble || !type.is_requesteeble.defined %]>
specifically requestable (users can ask specific other users to set flags of this type as opposed to just asking the wind) specifically requestable (users can ask specific other users to set flags of this type as opposed to just asking the wind)
</td> </td>
</tr> </tr>
...@@ -172,7 +179,7 @@ ...@@ -172,7 +179,7 @@
<th>&nbsp;</th> <th>&nbsp;</th>
<td> <td>
<input type="checkbox" name="is_multiplicable" [% "checked" IF type.is_multiplicable || !type.is_multiplicable.defined %]> <input type="checkbox" name="is_multiplicable" [% "checked" IF type.is_multiplicable || !type.is_multiplicable.defined %]>
multiplicable (multiple flags of this type can be set on the same [% type.target_type %]) multiplicable (multiple flags of this type can be set on the same [% typeLabelLowerSingular %])
</td> </td>
</tr> </tr>
......
...@@ -19,7 +19,9 @@ ...@@ -19,7 +19,9 @@
# Contributor(s): Myk Melez <myk@mozilla.org> # Contributor(s): Myk Melez <myk@mozilla.org>
#%] #%]
[% PROCESS global/header.html.tmpl [% PROCESS global/variables.none.tmpl %]
[% PROCESS global/header.html.tmpl
title = 'Administer Flag Types' title = 'Administer Flag Types'
style = " style = "
table#flag_types tr th { text-align: left; } table#flag_types tr th { text-align: left; }
...@@ -28,7 +30,7 @@ ...@@ -28,7 +30,7 @@
%] %]
<p> <p>
Flags are markers that identify whether a bug or attachment has been granted Flags are markers that identify whether [% terms.abug %] or attachment has been granted
or denied some status. Flags appear in the UI as a name and a status symbol or denied some status. Flags appear in the UI as a name and a status symbol
("+" for granted, "-" for denied, and "?" for statuses requested by users). ("+" for granted, "-" for denied, and "?" for statuses requested by users).
</p> </p>
...@@ -40,13 +42,13 @@ ...@@ -40,13 +42,13 @@
either the string "review+" or the string "review-" will appear in the patch, either the string "review+" or the string "review-" will appear in the patch,
depending on whether the patch passed or failed review. depending on whether the patch passed or failed review.
</p> </p>
<h3>Flag Types for Bugs</h3> <h3>Flag Types for [% terms.Bugs %]</h3>
[% PROCESS display_flag_types types=bug_types %] [% PROCESS display_flag_types types=bug_types %]
<p> <p>
<a href="editflagtypes.cgi?action=enter&amp;target_type=bug">Create Flag Type for Bugs</a> <a href="editflagtypes.cgi?action=enter&amp;target_type=bug">Create Flag Type for [% terms.Bugs %]</a>
</p> </p>
<h3>Flag Types for Attachments</h3> <h3>Flag Types for Attachments</h3>
...@@ -63,8 +65,8 @@ ...@@ -63,8 +65,8 @@
{ {
if (count > 0) { if (count > 0) {
var msg = 'There are ' + count + ' flags of type ' + name + '. ' + var msg = 'There are ' + count + ' flags of type ' + name + '. ' +
'If you delete this type, those flags will also be ' + 'If you delete this type, those flags will also be ' +
'deleted.\n\nNote: to deactivate the type instead ' + 'deleted.\n\nNote: to deactivate the type instead ' +
'of deleting it, edit it and uncheck its "is active" ' + 'of deleting it, edit it and uncheck its "is active" ' +
'flag.\n\nDo you really want to delete this flag type?'; 'flag.\n\nDo you really want to delete this flag type?';
if (!confirm(msg)) return false; if (!confirm(msg)) return false;
...@@ -95,12 +97,12 @@ ...@@ -95,12 +97,12 @@
<td>[% type.description FILTER html %]</td> <td>[% type.description FILTER html %]</td>
<td> <td>
<a href="editflagtypes.cgi?action=copy&amp;id=[% type.id %]">Copy</a> <a href="editflagtypes.cgi?action=copy&amp;id=[% type.id %]">Copy</a>
| <a href="editflagtypes.cgi?action=confirmdelete&amp;id=[% type.id %]" | <a href="editflagtypes.cgi?action=confirmdelete&amp;id=[% type.id %]"
onclick="return confirmDelete([% type.id %], '[% type.name FILTER js %]', onclick="return confirmDelete([% type.id %], '[% type.name FILTER js %]',
[% type.flag_count %]);">Delete</a> [% type.flag_count %]);">Delete</a>
</td> </td>
</tr> </tr>
[% END %] [% END %]
</table> </table>
......
...@@ -17,29 +17,30 @@ ...@@ -17,29 +17,30 @@
# Rights Reserved. # Rights Reserved.
# #
# Contributor(s): Joel Peshkin <bugreport@peshkin.net> # Contributor(s): Joel Peshkin <bugreport@peshkin.net>
# #
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% PROCESS global/header.html.tmpl title="Confirm Group Control Change for product \'$product\'" %] [% PROCESS global/header.html.tmpl title="Confirm Group Control Change for product \'$product\'" %]
[% FOREACH group = mandatory_groups %] [% FOREACH group = mandatory_groups %]
<P> <P>
group '[% group.name FILTER html %]' impacts [% group.count %] bugs for which the group is group '[% group.name FILTER html %]' impacts [% group.count %]&nbsp;[% terms.bugs %] for
newly mandatory and will be added. which the group is newly mandatory and will be added.
[% END %] [% END %]
[% FOREACH group = na_groups %] [% FOREACH group = na_groups %]
<P> <P>
group '[% group.name FILTER html %]' impacts [% group.count %] bugs for which the group is no longer applicable and will be removed. group '[% group.name FILTER html %]' impacts [% group.count %]&nbsp;
[% END %] [% terms.bugs %] for which the group is no longer applicable and will
be removed.[% END %]
<form method="post" > <form method="post" >
[% PROCESS "global/hidden-fields.html.tmpl" exclude="^Bugzilla_(login|password)$" %] [% PROCESS "global/hidden-fields.html.tmpl" exclude="^Bugzilla_(login|password)$" %]
<br> <br>
Click "Continue" to proceed with the change including the changes Click "Continue" to proceed with the change including the changes
indicated above. If you do not want these changes, use "back" to indicated above. If you do not want these changes, use "back" to
return to the previous page. return to the previous page.
<p> <p>
......
...@@ -19,16 +19,17 @@ ...@@ -19,16 +19,17 @@
# Contributor(s): Joel Peshkin <bugreport@peshkin.net> # Contributor(s): Joel Peshkin <bugreport@peshkin.net>
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% filt_product = product FILTER html %] [% filt_product = product FILTER html %]
[% PROCESS global/header.html.tmpl [% PROCESS global/header.html.tmpl
title = "Edit Group Controls for '$filt_product'" title = "Edit Group Controls for '$filt_product'"
%] %]
<form method="post" action="editproducts.cgi"> <form method="post" action="editproducts.cgi">
<input type="hidden" name="action" value="updategroupcontrols"> <input type="hidden" name="action" value="updategroupcontrols">
<input type="hidden" name="product" value="[% filt_product %]"> <input type="hidden" name="product" value="[% filt_product %]">
<table id="form" cellspacing="0" cellpadding="4" border="1"> <table id="form" cellspacing="0" cellpadding="4" border="1">
<tr bgcolor="#6666ff"> <tr bgcolor="#6666ff">
<th>Group</th> <th>Group</th>
...@@ -36,7 +37,7 @@ ...@@ -36,7 +37,7 @@
<th>MemberControl</th> <th>MemberControl</th>
<th>OtherControl</th> <th>OtherControl</th>
<th>Canedit</th> <th>Canedit</th>
<th>Bugs</th> <th>[% terms.Bugs %]</th>
</tr> </tr>
[% FOREACH group = groups %] [% FOREACH group = groups %]
[% IF group.isactive == 0 AND group.bugcount > 0 %] [% IF group.isactive == 0 AND group.bugcount > 0 %]
...@@ -63,22 +64,22 @@ ...@@ -63,22 +64,22 @@
<td> <td>
<select name="membercontrol_[% group.id %]"> <select name="membercontrol_[% group.id %]">
<option value=[% const.CONTROLMAPNA %] <option value=[% const.CONTROLMAPNA %]
[% " selected=\"selected\"" [% " selected=\"selected\""
IF group.membercontrol == const.CONTROLMAPNA %] IF group.membercontrol == const.CONTROLMAPNA %]
>NA >NA
</option> </option>
<option value=[% const.CONTROLMAPSHOWN %] <option value=[% const.CONTROLMAPSHOWN %]
[% " selected=\"selected\"" [% " selected=\"selected\""
IF group.membercontrol == const.CONTROLMAPSHOWN %] IF group.membercontrol == const.CONTROLMAPSHOWN %]
>Shown >Shown
</option> </option>
<option value=[% const.CONTROLMAPDEFAULT %] <option value=[% const.CONTROLMAPDEFAULT %]
[% " selected=\"selected\"" [% " selected=\"selected\""
IF group.membercontrol == const.CONTROLMAPDEFAULT %] IF group.membercontrol == const.CONTROLMAPDEFAULT %]
>Default >Default
</option> </option>
<option value=[% const.CONTROLMAPMANDATORY %] <option value=[% const.CONTROLMAPMANDATORY %]
[% " selected=\"selected\"" [% " selected=\"selected\""
IF group.membercontrol == const.CONTROLMAPMANDATORY %] IF group.membercontrol == const.CONTROLMAPMANDATORY %]
>Mandatory >Mandatory
</option> </option>
...@@ -87,22 +88,22 @@ ...@@ -87,22 +88,22 @@
<td> <td>
<select name="othercontrol_[% group.id %]"> <select name="othercontrol_[% group.id %]">
<option value=[% const.CONTROLMAPNA %] <option value=[% const.CONTROLMAPNA %]
[% " selected=\"selected\"" [% " selected=\"selected\""
IF group.othercontrol == const.CONTROLMAPNA %] IF group.othercontrol == const.CONTROLMAPNA %]
>NA >NA
</option> </option>
<option value=[% const.CONTROLMAPSHOWN %] <option value=[% const.CONTROLMAPSHOWN %]
[% " selected=\"selected\"" [% " selected=\"selected\""
IF group.othercontrol == const.CONTROLMAPSHOWN %] IF group.othercontrol == const.CONTROLMAPSHOWN %]
>Shown >Shown
</option> </option>
<option value=[% const.CONTROLMAPDEFAULT %] <option value=[% const.CONTROLMAPDEFAULT %]
[% " selected=\"selected\"" [% " selected=\"selected\""
IF group.othercontrol == const.CONTROLMAPDEFAULT %] IF group.othercontrol == const.CONTROLMAPDEFAULT %]
>Default >Default
</option> </option>
<option value=[% const.CONTROLMAPMANDATORY %] <option value=[% const.CONTROLMAPMANDATORY %]
[% " selected=\"selected\"" [% " selected=\"selected\""
IF group.othercontrol == const.CONTROLMAPMANDATORY %] IF group.othercontrol == const.CONTROLMAPMANDATORY %]
>Mandatory >Mandatory
</option> </option>
...@@ -131,7 +132,7 @@ These settings control the relationship of the groups to this ...@@ -131,7 +132,7 @@ These settings control the relationship of the groups to this
product. product.
<p> <p>
If any group has <b>Entry</b> selected, then this product will If any group has <b>Entry</b> selected, then this product will
restrict bug entry to only those users who are members of all the restrict [% terms.bug %] entry to only those users who are members of all the
groups with entry selected. groups with entry selected.
<p> <p>
If any group has <b>Canedit</b> selected, then this product If any group has <b>Canedit</b> selected, then this product
...@@ -141,7 +142,7 @@ all the canedit groups will be able to edit. This is an additional ...@@ -141,7 +142,7 @@ all the canedit groups will be able to edit. This is an additional
restriction that further restricts what can be edited by a user. restriction that further restricts what can be edited by a user.
<p> <p>
The <b>MemberControl</b> and <b>OtherControl</b> fields The <b>MemberControl</b> and <b>OtherControl</b> fields
indicate which bugs will be placed in indicate which [% terms.bugs %] will be placed in
this group according to the following definitions. this group according to the following definitions.
<br> <br>
<table border=1> <table border=1>
...@@ -164,7 +165,7 @@ this group according to the following definitions. ...@@ -164,7 +165,7 @@ this group according to the following definitions.
NA NA
</td> </td>
<td> <td>
Bugs in this product are never associated with this group. [% terms.Bugs %] in this product are never associated with this group.
</td> </td>
</tr> </tr>
<tr> <tr>
...@@ -175,9 +176,9 @@ this group according to the following definitions. ...@@ -175,9 +176,9 @@ this group according to the following definitions.
NA NA
</td> </td>
<td> <td>
Bugs in this product are permitted to be restricted to this [% terms.Bugs %] in this product are permitted to be restricted to this
group. Users who are a member of this group will be able group. Users who are a member of this group will be able to place [% terms.bugs %] in
to place bugs in this group. this group.
</td> </td>
</tr> </tr>
<tr> <tr>
...@@ -188,8 +189,8 @@ this group according to the following definitions. ...@@ -188,8 +189,8 @@ this group according to the following definitions.
Shown Shown
</td> </td>
<td> <td>
Bugs in this product can be placed in this group by anyone [% terms.Bugs %] in this product can be placed in this group by anyone
with permission to edit the bug even if they are not a member with permission to edit the [% terms.bug %] even if they are not a member
of this group. of this group.
</td> </td>
</tr> </tr>
...@@ -201,9 +202,9 @@ this group according to the following definitions. ...@@ -201,9 +202,9 @@ this group according to the following definitions.
Default Default
</td> </td>
<td> <td>
Bugs in this product can be placed in this group by anyone [% terms.Bugs %] in this product can be placed in this group by anyone
with permission to edit the bug even if they are not a member with permission to edit the [% terms.bug %] even if they are not a member
of this group. Non-members place bugs in this group by default. of this group. Non-members place [% terms.bugs %] in this group by default.
</td> </td>
</tr> </tr>
<tr> <tr>
...@@ -214,11 +215,10 @@ this group according to the following definitions. ...@@ -214,11 +215,10 @@ this group according to the following definitions.
Mandatory Mandatory
</td> </td>
<td> <td>
Bugs in this product are permitted to be restricted to this [% terms.Bugs %] in this product are permitted to be restricted to this
group. Users who are a member of this group will be able group. Users who are a member of this group will be able to place [% terms.bugs %]
to place bugs in this group. in this group. Non-members will be forced to restrict [% terms.bugs %] to
Non-members will be forced to restrict bugs to this group this group when they initially enter [% terms.abug %] in this product.
when they initially enter a bug in this product.
</td> </td>
</tr> </tr>
<tr> <tr>
...@@ -229,10 +229,9 @@ this group according to the following definitions. ...@@ -229,10 +229,9 @@ this group according to the following definitions.
NA NA
</td> </td>
<td> <td>
Bugs in this product are permitted to be restricted to this [% terms.Bugs %] in this product are permitted to be restricted to this
group and are placed in this group by default. group and are placed in this group by default. Users who are a member of this
Users who are a member of this group will be able group will be able to place [% terms.bugs %] in this group.
to place bugs in this group.
</td> </td>
</tr> </tr>
<tr> <tr>
...@@ -243,11 +242,10 @@ this group according to the following definitions. ...@@ -243,11 +242,10 @@ this group according to the following definitions.
Default Default
</td> </td>
<td> <td>
Bugs in this product are permitted to be restricted to this [% terms.Bugs %] in this product are permitted to be restricted to this
group and are placed in this group by default. group and are placed in this group by default. Users who are a member of this group
Users who are a member of this group will be able will be able to place [% terms.bugs %] in this group. Non-members will be
to place bugs in this group. Non-members will be able to able to restrict [% terms.bugs %] to this group on entry and will do so by default
restrict bugs to this group on entry and will do so by default
</td> </td>
</tr> </tr>
<tr> <tr>
...@@ -258,11 +256,10 @@ this group according to the following definitions. ...@@ -258,11 +256,10 @@ this group according to the following definitions.
Mandatory Mandatory
</td> </td>
<td> <td>
Bugs in this product are permitted to be restricted to this [% terms.Bugs %] in this product are permitted to be restricted to this
group and are placed in this group by default. group and are placed in this group by default. Users who are a member of this group
Users who are a member of this group will be able will be able to place [% terms.bugs %] in this group. Non-members will be forced
to place bugs in this group. Non-members will be forced to place [% terms.bugs %] in this group on entry.
to place bugs in this group on entry.
</td> </td>
</tr> </tr>
<tr> <tr>
...@@ -273,7 +270,7 @@ this group according to the following definitions. ...@@ -273,7 +270,7 @@ this group according to the following definitions.
Mandatory Mandatory
</td> </td>
<td> <td>
Bugs in this product are required to be restricted to this [% terms.Bugs %] in this product are required to be restricted to this
group. Users are not given any option. group. Users are not given any option.
</td> </td>
</tr> </tr>
......
...@@ -19,13 +19,15 @@ ...@@ -19,13 +19,15 @@
# Contributor(s): Myk Melez <myk@mozilla.org> # Contributor(s): Myk Melez <myk@mozilla.org>
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[%# Define strings that will serve as the title and header of this page %] [%# Define strings that will serve as the title and header of this page %]
[% title = BLOCK %]Create New Attachment for Bug #[% bugid %][% END %] [% title = BLOCK %]Create New Attachment for [% terms.Bug %] #[% bugid %][% END %]
[% h1 = BLOCK %]Create New Attachment for [% h1 = BLOCK %]Create New Attachment for
[%+ GetBugLink(bugid, "Bug $bugid") %][% END %] [%+ GetBugLink(bugid, "$terms.Bug $bugid") %][% END %]
[% h2 = BLOCK %][% bugsummary FILTER html %][% END %] [% h2 = BLOCK %][% bugsummary FILTER html %][% END %]
[% PROCESS global/header.html.tmpl [% PROCESS global/header.html.tmpl
title = title title = title
h1 = h1 h1 = h1
h2 = h2 h2 = h2
...@@ -48,7 +50,7 @@ ...@@ -48,7 +50,7 @@
<form name="entryform" method="post" action="attachment.cgi" enctype="multipart/form-data"> <form name="entryform" method="post" action="attachment.cgi" enctype="multipart/form-data">
<input type="hidden" name="bugid" value="[% bugid %]"> <input type="hidden" name="bugid" value="[% bugid %]">
<input type="hidden" name="action" value="insert"> <input type="hidden" name="action" value="insert">
<table class="attachment_entry"> <table class="attachment_entry">
<tr> <tr>
<th>File:</th> <th>File:</th>
...@@ -74,15 +76,15 @@ ...@@ -74,15 +76,15 @@
<td> <td>
<em>If the attachment is a patch, check the box below.</em><br> <em>If the attachment is a patch, check the box below.</em><br>
<input type="checkbox" id="ispatch" name="ispatch" value="1" <input type="checkbox" id="ispatch" name="ispatch" value="1"
onchange="setContentTypeDisabledState();"> onchange="setContentTypeDisabledState();">
<label for="ispatch">patch</label><br><br> <label for="ispatch">patch</label><br><br>
<em>Otherwise, choose a method for determining the content type.</em><br> <em>Otherwise, choose a method for determining the content type.</em><br>
<input type="radio" id="autodetect" <input type="radio" id="autodetect"
name="contenttypemethod" value="autodetect"> name="contenttypemethod" value="autodetect">
<label for="autodetect">auto-detect</label><br> <label for="autodetect">auto-detect</label><br>
<input type="radio" id="list" <input type="radio" id="list"
name="contenttypemethod" value="list"> name="contenttypemethod" value="list">
<label for="list">select from list:</label> <label for="list">select from list:</label>
<select name="contenttypeselection" <select name="contenttypeselection"
onchange="this.form.contenttypemethod[1].checked = true;"> onchange="this.form.contenttypemethod[1].checked = true;">
...@@ -128,17 +130,17 @@ ...@@ -128,17 +130,17 @@
<tr> <tr>
<th>Reassignment:</th> <th>Reassignment:</th>
<td> <td>
<em>If you want to assign this bug to yourself, <em>If you want to assign this [% terms.bug %] to yourself,
check the box below.</em><br> check the box below.</em><br>
<input type="checkbox" id="takebug" name="takebug" value="1"> <input type="checkbox" id="takebug" name="takebug" value="1">
<label for="takebug">take bug</label> <label for="takebug">take [% terms.bug %]</label>
</td> </td>
</tr> </tr>
[% END %] [% END %]
<tr> <tr>
<th>Comment:</th> <th>Comment:</th>
<td> <td>
<em>(optional) Add a comment about this attachment to the bug.</em><br> <em>(optional) Add a comment about this attachment to the [% terms.bug %].</em><br>
<textarea wrap="soft" name="comment" rows="6" cols="80"></textarea> <textarea wrap="soft" name="comment" rows="6" cols="80"></textarea>
</td> </td>
</tr> </tr>
...@@ -152,12 +154,12 @@ ...@@ -152,12 +154,12 @@
<script language="JavaScript" type="text/javascript"> <script language="JavaScript" type="text/javascript">
<!-- <!--
function setContentTypeDisabledState() function setContentTypeDisabledState()
{ {
var entryform = document.entryform; var entryform = document.entryform;
var isdisabled = false; var isdisabled = false;
if (entryform.ispatch.checked) if (entryform.ispatch.checked)
isdisabled = true; isdisabled = true;
for (var i=0 ; i<entryform.contenttypemethod.length ; i++) for (var i=0 ; i<entryform.contenttypemethod.length ; i++)
......
...@@ -27,8 +27,10 @@ ...@@ -27,8 +27,10 @@
# contenttypemethod: string. How we got the content type of the attachment. # contenttypemethod: string. How we got the content type of the attachment.
# Possible values: autodetect, list, manual. # Possible values: autodetect, list, manual.
#%] #%]
[% PROCESS global/header.html.tmpl [% PROCESS global/variables.none.tmpl %]
[% PROCESS global/header.html.tmpl
title = "Changes Submitted" title = "Changes Submitted"
style = "th { text-align: left; }" style = "th { text-align: left; }"
%] %]
...@@ -37,29 +39,30 @@ ...@@ -37,29 +39,30 @@
<tr> <tr>
<td> <td>
<h2> <h2>
<a title="[% description FILTER html %]" href="attachment.cgi?id=[% attachid %]&amp;action=edit">Attachment #[% attachid %]</a> <a title="[% description FILTER html %]" href="attachment.cgi?id=[% attachid %]&amp;action=edit">Attachment #[% attachid %]</a>
to <a href="show_bug.cgi?id=[% bugid %]">Bug #[% bugid %]</a> Created to <a href="show_bug.cgi?id=[% bugid %]">[% terms.Bug %] #[% bugid %]</a> Created
</h2> </h2>
[% PROCESS "bug/process/bugmail.html.tmpl" mailing_bugid = bugid %] [% PROCESS "bug/process/bugmail.html.tmpl" mailing_bugid = bugid %]
[% IF contenttypemethod == 'autodetect' %] [% IF contenttypemethod == 'autodetect' %]
<p> <p>
<b>Note:</b> Bugzilla automatically detected the content type <b>Note:</b> [% terms.Bugzilla %] automatically detected the content type
<em>[% contenttype %]</em> for this attachment. If this is <em>[% contenttype %]</em> for this attachment. If this is
incorrect, correct the value by incorrect, correct the value by
<a href="attachment.cgi?id=[% attachid %]&amp;action=edit">editing the attachment</a>. <a href="attachment.cgi?id=[% attachid %]&amp;action=edit">editing the attachment</a>.
</p> </p>
[% END %] [% END %]
</td> </td>
<td> <td>
<a href="show_bug.cgi?id=[% bugid %]">Go back to bug #[% bugid %]</a> <a href="show_bug.cgi?id=[% bugid %]">Go back to [% terms.bug %] #[% bugid %]</a>
</td> </td>
</tr> </tr>
</table> </table>
<p> <p>
<a href="attachment.cgi?bugid=[% bugid %]&amp;action=enter">Create Another Attachment to Bug #[% bugid %]</a> <a href="attachment.cgi?bugid=[% bugid %]&amp;action=enter">Create
Another Attachment to [% terms.Bug %] #[% bugid %]</a>
</p> </p>
[% PROCESS global/footer.html.tmpl %] [% PROCESS global/footer.html.tmpl %]
...@@ -19,13 +19,15 @@ ...@@ -19,13 +19,15 @@
# Contributor(s): Myk Melez <myk@mozilla.org> # Contributor(s): Myk Melez <myk@mozilla.org>
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[%# Define strings that will serve as the title and header of this page %] [%# Define strings that will serve as the title and header of this page %]
[% title = BLOCK %]Edit Attachment #[% attachid %] for Bug #[% bugid %][% END %] [% title = BLOCK %]Edit Attachment #[% attachid %] for [% terms.Bug %] #[% bugid %][% END %]
[% h1 = BLOCK %]Edit Attachment #[% attachid %] for [% h1 = BLOCK %]Edit Attachment #[% attachid %] for
[%+ GetBugLink(bugid, "Bug $bugid") %][% END %] [%+ GetBugLink(bugid, "$terms.Bugs $bugid") %][% END %]
[% h2 = BLOCK %][% bugsummary FILTER html %][% END %] [% h2 = BLOCK %][% bugsummary FILTER html %][% END %]
[% PROCESS global/header.html.tmpl [% PROCESS global/header.html.tmpl
title = title title = title
h1 = h1 h1 = h1
h2 = h2 h2 = h2
...@@ -33,7 +35,7 @@ ...@@ -33,7 +35,7 @@
table.attachment_info th { text-align: right; vertical-align: top; } table.attachment_info th { text-align: right; vertical-align: top; }
table.attachment_info td { text-align: left; vertical-align: top; } table.attachment_info td { text-align: left; vertical-align: top; }
#noview { text-align: left; vertical-align: center; } #noview { text-align: left; vertical-align: center; }
table#flags th, table#flags td { font-size: small; vertical-align: baseline; text-align: left; } table#flags th, table#flags td { font-size: small; vertical-align: baseline; text-align: left; }
" "
%] %]
...@@ -161,7 +163,7 @@ ...@@ -161,7 +163,7 @@
<b>MIME Type:</b><br> <b>MIME Type:</b><br>
<input type="text" size="20" name="contenttypeentry" value="[% contenttype FILTER html %]"><br> <input type="text" size="20" name="contenttypeentry" value="[% contenttype FILTER html %]"><br>
<input type="checkbox" id="ispatch" name="ispatch" value="1" <input type="checkbox" id="ispatch" name="ispatch" value="1"
[% 'checked="checked"' IF ispatch %]> [% 'checked="checked"' IF ispatch %]>
<label for="ispatch">patch</label> <label for="ispatch">patch</label>
...@@ -176,9 +178,9 @@ ...@@ -176,9 +178,9 @@
[% IF flag_types.size > 0 %] [% IF flag_types.size > 0 %]
[% PROCESS "flag/list.html.tmpl" bug_id=bugid attach_id=attachid %]<br> [% PROCESS "flag/list.html.tmpl" bug_id=bugid attach_id=attachid %]<br>
[% END %] [% END %]
<div id="smallCommentFrame"> <div id="smallCommentFrame">
<b>Comment (on the bug):</b><br> <b>Comment (on the [% terms.bug %]):</b><br>
<textarea name="comment" rows="5" cols="25" wrap="soft"></textarea><br> <textarea name="comment" rows="5" cols="25" wrap="soft"></textarea><br>
</div> </div>
...@@ -217,7 +219,7 @@ ...@@ -217,7 +219,7 @@
</table> </table>
Attachments on this Bug: Attachments on this [% terms.Bug %]:
[% FOREACH a = attachments %] [% FOREACH a = attachments %]
[% IF a == attachid %] [% IF a == attachid %]
#[% a %] #[% a %]
......
...@@ -19,11 +19,12 @@ ...@@ -19,11 +19,12 @@
# Contributor(s): Myk Melez <myk@mozilla.org> # Contributor(s): Myk Melez <myk@mozilla.org>
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% filtered_summary = bugsummary FILTER html %] [% filtered_summary = bugsummary FILTER html %]
[% h1 = BLOCK %]View All Attachments for [% h1 = BLOCK %]View All Attachments for
[%+ GetBugLink(bugid, "Bug $bugid") %][% END %] [%+ GetBugLink(bugid, "$terms.Bug $bugid") %][% END %]
[% PROCESS global/header.html.tmpl [% PROCESS global/header.html.tmpl
title = "View All Attachments for Bug #$bugid" title = "View All Attachments for $terms.Bug #$bugid"
h1 = h1 h1 = h1
h2 = filtered_summary h2 = filtered_summary
style = " style = "
...@@ -73,7 +74,7 @@ ...@@ -73,7 +74,7 @@
</td> </td>
<td valign="top"> <td valign="top">
<a href="attachment.cgi?id=[% a.attachid %]&amp;action=edit">Edit</a> <a href="attachment.cgi?id=[% a.attachid %]&amp;action=edit">Edit</a>
</td> </td>
</tr> </tr>
</table> </table>
......
...@@ -24,8 +24,10 @@ ...@@ -24,8 +24,10 @@
# bugid: integer. ID of the bug we are updating. # bugid: integer. ID of the bug we are updating.
# attachid: integer. ID of the attachment we just attached. # attachid: integer. ID of the attachment we just attached.
#%] #%]
[% PROCESS global/header.html.tmpl [% PROCESS global/variables.none.tmpl %]
[% PROCESS global/header.html.tmpl
title = "Changes Submitted" title = "Changes Submitted"
style = "th { text-align: left; }" style = "th { text-align: left; }"
%] %]
...@@ -35,15 +37,15 @@ ...@@ -35,15 +37,15 @@
<table border="1"> <table border="1">
<tr> <tr>
<td> <td>
<h2>Changes to <h2>Changes to
<a href="attachment.cgi?id=[% attachid %]&amp;action=edit">attachment [% attachid %]</a> <a href="attachment.cgi?id=[% attachid %]&amp;action=edit">attachment [% attachid %]</a>
of bug [% bugid %] submitted of [% terms.bug %]&nbsp;[% bugid %] submitted
</h2> </h2>
[% PROCESS "bug/process/bugmail.html.tmpl" mailing_bugid = bugid %] [% PROCESS "bug/process/bugmail.html.tmpl" mailing_bugid = bugid %]
</td> </td>
<td> <td>
<a href="show_bug.cgi?id=[% bugid %]">Back to Bug #[% bugid %]</a> <a href="show_bug.cgi?id=[% bugid %]">Back to [% terms.Bug %] #[% bugid %]</a>
</td> </td>
</tr> </tr>
</table> </table>
......
...@@ -25,11 +25,13 @@ ...@@ -25,11 +25,13 @@
# This template also needs to be called with the interface to the # This template also needs to be called with the interface to the
# activity.html.tmpl template fulfilled. # activity.html.tmpl template fulfilled.
#%] #%]
[% PROCESS global/header.html.tmpl [% PROCESS global/variables.none.tmpl %]
title = "Changes made to bug $bug_id"
[% PROCESS global/header.html.tmpl
title = "Changes made to $terms.bug $bug_id"
h1 = "Activity log" h1 = "Activity log"
h2 = "Bug <a href=\"show_bug.cgi?id=$bug_id\">$bug_id</a>" h2 = "$terms.Bug <a href=\"show_bug.cgi?id=$bug_id\">$bug_id</a>"
%] %]
<br> <br>
...@@ -37,7 +39,7 @@ ...@@ -37,7 +39,7 @@
[% PROCESS bug/activity/table.html.tmpl %] [% PROCESS bug/activity/table.html.tmpl %]
<p> <p>
<a href="show_bug.cgi?id=[% bug_id %]">Back to bug [% bug_id %]</a> <a href="show_bug.cgi?id=[% bug_id %]">Back to [% terms.bug %]&nbsp;[% bug_id %]</a>
</p> </p>
[% PROCESS global/footer.html.tmpl %] [% PROCESS global/footer.html.tmpl %]
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
# operations: array of hashes. May be empty. Each has has three members: # operations: array of hashes. May be empty. Each has has three members:
# who: string. who performed the operation # who: string. who performed the operation
# when: string. when they performed it # when: string. when they performed it
# changes: hash. Details of what they changed. This hash has three # changes: hash. Details of what they changed. This hash has three
# compulsory and one optional member: # compulsory and one optional member:
# field: string. The name of the field # field: string. The name of the field
# removed: string. What was removed from the field # removed: string. What was removed from the field
...@@ -33,14 +33,16 @@ ...@@ -33,14 +33,16 @@
# it was affected by an old Bugzilla bug.) # it was affected by an old Bugzilla bug.)
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% PROCESS bug/time.html.tmpl %] [% PROCESS bug/time.html.tmpl %]
[% IF incomplete_data %] [% IF incomplete_data %]
<p> <p>
There used to be a bug Bugzilla which caused activity data There used to be a [% terms.bug %] in [% terms.Bugzilla %] which caused activity data
to be lost if there was a large number of cc's or dependencies. That to be lost if there was a large number of cc's or dependencies. That
has been fixed, however, there was some data already lost on this bug has been fixed, however, there was some data already lost on this [% terms.bug %] that
that could not be regenerated. The changes that the script could not could not be regenerated. The changes that the script could not
reliably determine are prefixed by '?'. reliably determine are prefixed by '?'.
</p> </p>
[% END %] [% END %]
...@@ -55,7 +57,7 @@ ...@@ -55,7 +57,7 @@
<th>Added</th> <th>Added</th>
</tr> </tr>
[% FOREACH operation = operations %] [% FOREACH operation = operations %]
<tr> <tr>
<td rowspan="[% operation.changes.size %]" valign="top"> <td rowspan="[% operation.changes.size %]" valign="top">
[% operation.who %] [% operation.who %]
...@@ -68,7 +70,7 @@ ...@@ -68,7 +70,7 @@
<td> <td>
[% IF change.attachid %] [% IF change.attachid %]
<a href="attachment.cgi?id=[% change.attachid %]&amp;action=view"> <a href="attachment.cgi?id=[% change.attachid %]&amp;action=view">
Attachment #[% change.attachid %]</a> Attachment #[% change.attachid %]</a>
[% END %] [% END %]
[% change.field %] [% change.field %]
</td> </td>
......
...@@ -19,15 +19,17 @@ ...@@ -19,15 +19,17 @@
# Contributor(s): Gervase Markham <gerv@gerv.net> # Contributor(s): Gervase Markham <gerv@gerv.net>
#%] #%]
[% PROCESS global/header.html.tmpl [% PROCESS global/variables.none.tmpl %]
title = "Search by bug number"
[% PROCESS global/header.html.tmpl
title = "Search by $terms.bug number"
%] %]
<form method="get" action="show_bug.cgi"> <form method="get" action="show_bug.cgi">
<p> <p>
You may find a single bug by entering its bug id here: You may find a single [% terms.bug %] by entering its [% terms.bug %] id here:
<input name="id" size="6"> <input name="id" size="6">
<input type="submit" value="Show Me This Bug"> <input type="submit" value="Show Me This [% terms.Bug %]">
</p> </p>
</form> </form>
......
...@@ -24,21 +24,23 @@ ...@@ -24,21 +24,23 @@
# This template has the same interface as create.html.tmpl # This template has the same interface as create.html.tmpl
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% USE Bugzilla %] [% USE Bugzilla %]
[% cgi = Bugzilla.cgi %] [% cgi = Bugzilla.cgi %]
[% PROCESS global/header.html.tmpl [% PROCESS global/header.html.tmpl
title = "Enter A Bug" title = "Enter $terms.ABug"
onload = "PutDescription()" onload = "PutDescription()"
%] %]
<p> <p>
<font color="red"> <font color="red">
This is a template used on mozilla.org - it, along with the This is a template used on mozilla.org - it, along with the
comment-guided.txt.tmpl template, are included as a demo of what it's comment-guided.txt.tmpl template, are included as a demo of what it's
possible to do with custom templates in general, and custom bug entry possible to do with custom templates in general, and custom [% terms.bug %] entry
templates in particular. It is recommended that this template be templates in particular. It is recommended that this template be
customised if you want to use it on your Bugzilla installation. customised if you want to use it on your [% terms.Bugzilla %] installation.
</font> </font>
</p> </p>
...@@ -66,15 +68,15 @@ function PutDescription() { ...@@ -66,15 +68,15 @@ function PutDescription() {
[%# Browser sniff to try and reduce the incidence of 4.x and NS 6/7 bugs %] [%# Browser sniff to try and reduce the incidence of 4.x and NS 6/7 bugs %]
[% IF cgi.user_agent("Mozilla/4") AND NOT cgi.user_agent("compatible") %] [% IF cgi.user_agent("Mozilla/4") AND NOT cgi.user_agent("compatible") %]
<div style="background-color: lightgrey; <div style="background-color: lightgrey;
border: 1px solid black; border: 1px solid black;
padding: 2px"> padding: 2px">
<font color="#990000"> <font color="#990000">
<b> <b>
Note: This is a tool for reporting bugs in software from mozilla.org. Note: This is a tool for reporting [% terms.bugs %] in software from mozilla.org.
Use Netscape's Use Netscape's
<a href="http://help.netscape.com/forms/bug-client.html">bug reporting <a href="http://help.netscape.com/forms/bug-client.html">[% terms.bug %] reporting
form</a> to report bugs with Netscape products like Navigator 4.x. form</a> to report [% terms.bugs %] with Netscape products like Navigator 4.x.
Netscape products have a blue and black N in the top right hand Netscape products have a blue and black N in the top right hand
corner. corner.
</b> </b>
...@@ -84,74 +86,74 @@ function PutDescription() { ...@@ -84,74 +86,74 @@ function PutDescription() {
[% IF cgi.user_agent('Netscape(\d)') %] [% IF cgi.user_agent('Netscape(\d)') %]
[% matches = cgi.user_agent().match('Netscape(\d)') %] [% matches = cgi.user_agent().match('Netscape(\d)') %]
<div style="background-color: lightgrey; <div style="background-color: lightgrey;
border: 1px solid black; border: 1px solid black;
padding: 2px"> padding: 2px">
<font color="#990000"> <font color="#990000">
<b> <b>
You are using Netscape [% matches.0 %]. You are using Netscape [% matches.0 %].
Report bugs with this browser to the Report [% terms.bugs %] with this browser to the
<a href="http://home.netscape.com/browsers/[% matches.0 %]/feedback/index.html"> <a href="http://home.netscape.com/browsers/[% matches.0 %]/feedback/index.html">
Netscape [% matches.0 %] Feedback Center.</a> Netscape [% matches.0 %] Feedback Center.</a>
</b> </b>
</font> </font>
This form is only for reporting bugs in the Mozilla web browser and other This form is only for reporting [% terms.bugs %] in the Mozilla web browser and other
products from mozilla.org. To report a bug you find in products from mozilla.org. To report [% terms.abug %] you find in
Netscape [% matches.0 %] with this form, Netscape [% matches.0 %] with this form,
you must reproduce it first in a you must reproduce it first in a
<a href="http://ftp.mozilla.org/pub/mozilla/nightly/latest/"> <a href="http://ftp.mozilla.org/pub/mozilla/nightly/latest/">
recent build</a> of Mozilla to make sure the problem hasn't been recent build</a> of Mozilla to make sure the problem hasn't been
fixed already. fixed already.
</div> </div>
[% END %] [% END %]
<p> <p>
This form prompts you for the information required to This form prompts you for the information required to
file a good bug report (or enhancement request.) file a good [% terms.bug %] report (or enhancement request.)
It may seem lengthy, but developers need all this information It may seem lengthy, but developers need all this information
to understand and reproduce the bug, which is the first step towards to understand and reproduce the [% terms.bug %], which is the first step towards
fixing it. Please note that <strong>we do not accept bug reports by fixing it. Please note that <strong>we do not accept [% terms.bug %] reports by
email</strong> - please do not email developers or mozilla.org staff email</strong> - please do not email developers or mozilla.org staff
with bug reports. <font color="red">Also, please do not with [% terms.bug %] reports. <font color="red">Also, please do not
file Mozilla bugs on copies of Mozilla older than two weeks - first, file Mozilla [% terms.bugs %] on copies of Mozilla older than two weeks - first,
download a download a
<a href="http://ftp.mozilla.org/pub/mozilla/nightly/latest/">newer build</a> <a href="http://ftp.mozilla.org/pub/mozilla/nightly/latest/">newer build</a>
and check that the problem is still present. and check that the problem is still present.
</font> </font>
</p> </p>
<a name="step1"></a> <a name="step1"></a>
<h3>Step 1 - search for your bug</h3> <h3>Step 1 - search for your [% terms.bug %]</h3>
<p> <p>
You need to see if your bug has already been reported. You need to see if your [% terms.bug %] has already been reported.
<font color="red">Please don't skip this step.</font> <font color="red">Please don't skip this step.</font>
50% of the bugs filed in 50% of the [% terms.bugs %] filed in
Bugzilla are duplicates, and and this wastes a lot of our QA engineers' time. [% terms.Bugzilla %] are duplicates, and and this wastes a lot of our QA engineers' time.
</p> </p>
[%# Stop NS 4.x and all v.3 browsers from getting <iframe> code %] [%# Stop NS 4.x and all v.3 browsers from getting <iframe> code %]
[% IF (cgi.user_agent("Mozilla/4") [% IF (cgi.user_agent("Mozilla/4")
AND NOT cgi.user_agent("compatible")) AND NOT cgi.user_agent("compatible"))
OR (cgi.user_agent("Mozilla/[123]")) %] OR (cgi.user_agent("Mozilla/[123]")) %]
<p> <p>
Visit the <a href="duplicates.cgi">most-frequently-reported bugs page</a> Visit the <a href="duplicates.cgi">most-frequently-reported [% terms.bugs %] page</a>
and see if your bug is there. If not, go to the and see if your [% terms.bug %] is there. If not, go to the
<a href="query.cgi?format=modern">search page</a> <a href="query.cgi?format=modern">search page</a>
and search Bugzilla by entering two or and search [% terms.Bugzilla %] by entering two or
three of the main words having to do with your bug in the top box. three of the main words having to do with your [% terms.bug %] in the top box.
For example: <tt><b>pop3 mail</b></tt> or <tt><b>copy paste</b></tt>. For example: <tt><b>pop3 mail</b></tt> or <tt><b>copy paste</b></tt>.
</p> </p>
[% ELSE %] [% ELSE %]
<p> <p>
Check the list of most-frequently-reported bugs below. Check the list of most-frequently-reported [% terms.bugs %] below.
If your bug isn't there, search Bugzilla by entering two or If your [% terms.bug %] isn't there, search [% terms.Bugzilla %] by entering two or
three of the main words having to do with your bug in this box. three of the main words having to do with your [% terms.bug %] in this box.
For example: <tt><b>pop3 mail</b></tt> or <tt><b>copy paste</b></tt>. For example: <tt><b>pop3 mail</b></tt> or <tt><b>copy paste</b></tt>.
</p> </p>
<script type="text/javascript" language="JavaScript"> <script type="text/javascript" language="JavaScript">
[%# Tell QuickSearch to use the custom-supplied load_relative_url() [%# Tell QuickSearch to use the custom-supplied load_relative_url()
function. This was originally designed for the sidebar, hence the function. This was originally designed for the sidebar, hence the
variable name. %] variable name. %]
var sidebar = 1; var sidebar = 1;
...@@ -161,19 +163,19 @@ function PutDescription() { ...@@ -161,19 +163,19 @@ function PutDescription() {
} }
</script> </script>
<script type="text/javascript" language="JavaScript" <script type="text/javascript" language="JavaScript"
src="localconfig.js"></script> src="localconfig.js"></script>
<script type="text/javascript" language="JavaScript" <script type="text/javascript" language="JavaScript"
src="quicksearch.js"></script> src="quicksearch.js"></script>
<form name="f" action="show_bug.cgi" method="get" <form name="f" action="show_bug.cgi" method="get"
onsubmit="QuickSearch(f.id.value); return false;"> onsubmit="QuickSearch(f.id.value); return false;">
<input type="text" name="id" size="40"> <input type="text" name="id" size="40">
<input type="submit" value="Search"> <input type="submit" value="Search">
</form> </form>
<iframe name="somebugs" width="100%" height="80%" <iframe name="somebugs" width="100%" height="80%"
style="border: 2px black solid" style="border: 2px black solid"
src="duplicates.cgi?product=[% product FILTER uri %]&format=simple"> src="duplicates.cgi?product=[% product FILTER uri %]&format=simple">
</iframe> </iframe>
...@@ -181,41 +183,41 @@ function PutDescription() { ...@@ -181,41 +183,41 @@ function PutDescription() {
<p> <p>
Look through the search results. If you get the Look through the search results. If you get the
<tt><b>Zarro Boogs</b></tt> message, Bugzilla found no bugs that <tt><b>Zarro Boogs</b></tt> message, [% terms.Bugzilla %] found no [% terms.bugs %] that
match. Check for typos, or add fewer or different keywords. match. Check for typos, or add fewer or different keywords.
</p> </p>
<p> <p>
If you find a bug that looks the same as yours, you can add If you find [% terms.abug %] that looks the same as yours, you can add
useful comments to that bug, but please don't open a new one. useful comments to that [% terms.bug %], but please don't open a new one.
Please don't add comments like "please fix this bug" - this Please don't add comments like "please fix this [% terms.bug %]" - this
tends to annoy engineers and slow, rather than speed, the fixing of it. tends to annoy engineers and slow, rather than speed, the fixing of it.
</p> </p>
<p> <p>
If you find bugs similar to yours, read them and note which component If you find [% terms.bugs %] similar to yours, read them and note which component
they are in. You should file your bug in that same component. they are in. You should file your [% terms.bug %] in that same component.
</p> </p>
<a name="step2"></a> <a name="step2"></a>
<h3>Step 2 - give information</h3> <h3>Step 2 - give information</h3>
<p> <p>
If you're pretty certain that your bug isn't in there already, then If you're pretty certain that your [% terms.bug %] isn't in there already, then
please try to complete this form as accurately as you please try to complete this form as accurately as you
can. The more you can tell us, the better our chance of being able can. The more you can tell us, the better our chance of being able
to understand and reproduce your bug. to understand and reproduce your [% terms.bug %].
</p> </p>
<form method="post" action="post_bug.cgi"> <form method="post" action="post_bug.cgi">
<input type="hidden" name="format" value="guided"> <input type="hidden" name="format" value="guided">
<input type="hidden" name="assigned_to" value=""> <input type="hidden" name="assigned_to" value="">
<input type="hidden" name="priority" <input type="hidden" name="priority"
value="[% default.priority FILTER html %]"> value="[% default.priority FILTER html %]">
<input type="hidden" name="version" <input type="hidden" name="version"
value="[% default.version FILTER html %]"> value="[% default.version FILTER html %]">
<table valign="top" cellpadding="5" cellspacing="5" border="0"> <table valign="top" cellpadding="5" cellspacing="5" border="0">
<tr bgcolor="[% tablecolour %]"> <tr bgcolor="[% tablecolour %]">
...@@ -233,18 +235,18 @@ function PutDescription() { ...@@ -233,18 +235,18 @@ function PutDescription() {
<b>Component</b> <b>Component</b>
</td> </td>
<td valign="top"> <td valign="top">
<p> <p>
The area where the problem occurs. The area where the problem occurs.
To pick the right component, you could use the same one as To pick the right component, you could use the same one as
similar bugs you found in your search, or read the full list of similar [% terms.bugs %] you found in your search, or read the full list of
<a href="describecomponents.cgi?product=[% product %]">component <a href="describecomponents.cgi?product=[% product %]">component
descriptions</a> if you need more help. descriptions</a> if you need more help.
</p> </p>
<table border="0" cellpadding="0" cellspacing="0"> <table border="0" cellpadding="0" cellspacing="0">
<tr> <tr>
<td valign="top"> <td valign="top">
<select name="component" id="component" <select name="component" id="component"
size="5" onchange="PutDescription()"> size="5" onchange="PutDescription()">
[% FOREACH c = component_ %] [% FOREACH c = component_ %]
<option value="[% c.name FILTER html %]" <option value="[% c.name FILTER html %]"
...@@ -257,7 +259,7 @@ function PutDescription() { ...@@ -257,7 +259,7 @@ function PutDescription() {
<td valign="top" width="100%"> <td valign="top" width="100%">
<div id="description" style="color: green; margin-left: 10px; <div id="description" style="color: green; margin-left: 10px;
height: 5em; overflow: auto;"> height: 5em; overflow: auto;">
<script type="text/javascript" language="JavaScript"> <script type="text/javascript" language="JavaScript">
if ((document.getElementById) && (document.body.innerHTML)) { if ((document.getElementById) && (document.body.innerHTML)) {
document.write("\ document.write("\
Select a component to see its description here."); Select a component to see its description here.");
...@@ -291,7 +293,7 @@ function PutDescription() { ...@@ -291,7 +293,7 @@ function PutDescription() {
<td align="right" valign="middle"> <td align="right" valign="middle">
<b>Operating System</b> <b>Operating System</b>
</td> </td>
<td valign="top"> <td valign="top">
[% PROCESS select sel = 'op_sys' %] [% PROCESS select sel = 'op_sys' %]
</td> </td>
</tr> </tr>
...@@ -305,16 +307,16 @@ function PutDescription() { ...@@ -305,16 +307,16 @@ function PutDescription() {
</td> </td>
<td valign="top"> <td valign="top">
<p> <p>
If reporting a bug in Mozilla, If reporting [% terms.abug %] in Mozilla,
this is the line beginning <tt>"Mozilla/5.0"</tt> in this is the line beginning <tt>"Mozilla/5.0"</tt> in
<tt>Help | About Mozilla</tt>. <tt>Help | About Mozilla</tt>.
It identifies exactly the version of Mozilla you were using. It identifies exactly the version of Mozilla you were using.
If you are using the problem copy of Mozilla, this will be If you are using the problem copy of Mozilla, this will be
filled in correctly for you already. filled in correctly for you already.
If Mozilla won't start, just enter the URL of the directory you If Mozilla won't start, just enter the URL of the directory you
downloaded it from. downloaded it from.
</p> </p>
<input type="text" size="80" name="buildid" value="[% buildid %]"> <input type="text" size="80" name="buildid" value="[% buildid %]">
</td> </td>
</tr> </tr>
...@@ -325,9 +327,9 @@ function PutDescription() { ...@@ -325,9 +327,9 @@ function PutDescription() {
<td valign="top"> <td valign="top">
<p> <p>
URL that demonstrates the problem you are seeing (optional.) URL that demonstrates the problem you are seeing (optional.)
<b>IMPORTANT</b>: If you are filing a bug about a broken web page, <b>IMPORTANT</b>: If you are filing [% terms.abug %] about a broken web page,
you need to read the you need to read the
<a href="http://www.mozilla.org/docs/web-developer/faq.html">Mozilla <a href="http://www.mozilla.org/docs/web-developer/faq.html">Mozilla
Web Developer FAQ</a>, which explains how we handle old or Web Developer FAQ</a>, which explains how we handle old or
badly-coded web pages. badly-coded web pages.
</p> </p>
...@@ -337,13 +339,13 @@ function PutDescription() { ...@@ -337,13 +339,13 @@ function PutDescription() {
<tr bgcolor="[% tablecolour %]"> <tr bgcolor="[% tablecolour %]">
<td align="right" valign="middle"> <td align="right" valign="middle">
<b>Summary</b> <b>Summary</b>
</td> </td>
<td valign="top"> <td valign="top">
<p> <p>
A sentence which summarises the problem. A sentence which summarises the problem.
Please be descriptive and use lots of keywords. Please be descriptive and use lots of keywords.
</p> </p>
<p> <p>
<tt> <tt>
<font color="#990000">Bad example</font>: mail crashed <font color="#990000">Bad example</font>: mail crashed
...@@ -360,7 +362,7 @@ function PutDescription() { ...@@ -360,7 +362,7 @@ function PutDescription() {
<tr> <tr>
<td align="right" valign="middle"> <td align="right" valign="middle">
<b>Details</b> <b>Details</b>
</td> </td>
<td valign="top"> <td valign="top">
<p> <p>
...@@ -380,7 +382,7 @@ function PutDescription() { ...@@ -380,7 +382,7 @@ function PutDescription() {
right margins. In Mozilla, the text is only left-justified. right margins. In Mozilla, the text is only left-justified.
</tt> </tt>
</p> </p>
<textarea rows="6" cols="80" name="comment" <textarea rows="6" cols="80" name="comment"
wrap="hard"></textarea> wrap="hard"></textarea>
</td> </td>
</tr> </tr>
...@@ -412,7 +414,7 @@ function PutDescription() { ...@@ -412,7 +414,7 @@ function PutDescription() {
<tr> <tr>
<td align="right" valign="middle"> <td align="right" valign="middle">
<b>Steps to Reproduce</b> <b>Steps to Reproduce</b>
</td> </td>
<td valign="top"> <td valign="top">
<p> <p>
...@@ -429,12 +431,12 @@ function PutDescription() { ...@@ -429,12 +431,12 @@ function PutDescription() {
<tr bgcolor="[% tablecolour %]"> <tr bgcolor="[% tablecolour %]">
<td valign="middle" align="right"> <td valign="middle" align="right">
<b>Actual Results</b> <b>Actual Results</b>
</td> </td>
<td valign="top"> <td valign="top">
<p> <p>
What happened after you performed the steps above? What happened after you performed the steps above?
</p> </p>
<textarea rows="4" cols="80" name="actual_results" <textarea rows="4" cols="80" name="actual_results"
wrap="hard"></textarea> wrap="hard"></textarea>
</td> </td>
...@@ -442,31 +444,31 @@ function PutDescription() { ...@@ -442,31 +444,31 @@ function PutDescription() {
<tr> <tr>
<td valign="middle" align="right"> <td valign="middle" align="right">
<b>Expected Results</b> <b>Expected Results</b>
</td> </td>
<td valign="top"> <td valign="top">
<p> <p>
What should the software have done instead? What should the software have done instead?
</p> </p>
<textarea rows="4" cols="80" name="expected_results" <textarea rows="4" cols="80" name="expected_results"
wrap="hard"></textarea> wrap="hard"></textarea>
</td> </td>
</tr> </tr>
<tr bgcolor="[% tablecolour %]"> <tr bgcolor="[% tablecolour %]">
<td valign="middle" align="right"> <td valign="middle" align="right">
<b>Additional Information</b> <b>Additional Information</b>
</td> </td>
<td valign="top"> <td valign="top">
<p> <p>
Add any additional information you feel may be Add any additional information you feel may be
relevant to this bug, such as the <b>theme</b> you were using relevant to this [% terms.bug %], such as the <b>theme</b> you were using
(does the bug still occur (does the [% terms.bug %] still occur
with the default theme?), a <b>Talkback crash ID</b>, or special with the default theme?), a <b>Talkback crash ID</b>, or special
information about <b>your computer's configuration</b>. Any information information about <b>your computer's configuration</b>. Any information
longer than a few lines, such as a <b>stack trace</b> or <b>HTML longer than a few lines, such as a <b>stack trace</b> or <b>HTML
testcase</b>, should be added testcase</b>, should be added
using the "Create a new Attachment" link on the bug, after it is filed. using the "Create a new Attachment" link on the [% terms.bug %], after it is filed.
<br> <br>
<br> <br>
If you are reporting a crash, note the module in If you are reporting a crash, note the module in
...@@ -475,7 +477,7 @@ function PutDescription() { ...@@ -475,7 +477,7 @@ function PutDescription() {
have MacsBug, attach the results of the <b><tt>how</tt></b> and have MacsBug, attach the results of the <b><tt>how</tt></b> and
<b><tt>sc</tt></b> commands. <b><tt>sc</tt></b> commands.
</p> </p>
<textarea rows="8" cols="80" name="additional_info" <textarea rows="8" cols="80" name="additional_info"
wrap="hard"></textarea> wrap="hard"></textarea>
</td> </td>
</tr> </tr>
...@@ -486,29 +488,29 @@ function PutDescription() { ...@@ -486,29 +488,29 @@ function PutDescription() {
</td> </td>
<td valign="top"> <td valign="top">
<p> <p>
How serious the problem is. Also, if your bug is a request for a new How serious the problem is. Also, if your [% terms.bug %] is a request for a new
feature or enhancement, say so here. feature or enhancement, say so here.
</p> </p>
<select name="bug_severity"> <select name="bug_severity">
<option name="blocker" value="blocker"> <option name="blocker" value="blocker">
Blocker: This bug prevents you from testing or developing the Blocker: This [% terms.bug %] prevents you from testing or developing the
software. software.
</option> </option>
<option name="critical" value="critical"> <option name="critical" value="critical">
Critical: The software crashes, hangs, or causes you to Critical: The software crashes, hangs, or causes you to
lose data. lose data.
</option> </option>
<option name="major" value="major"> <option name="major" value="major">
Major: A major feature is broken. Major: A major feature is broken.
</option> </option>
<option name="normal" value="normal" selected="selected"> <option name="normal" value="normal" selected="selected">
Normal: It's a bug that should be fixed. Normal: It's [% terms.abug %] that should be fixed.
</option> </option>
<option name="minor" value="minor"> <option name="minor" value="minor">
Minor: Minor loss of function, and there's an easy workaround. Minor: Minor loss of function, and there's an easy workaround.
</option> </option>
<option name="trivial" value="trivial"> <option name="trivial" value="trivial">
Trivial: A cosmetic problem, such as a misspelled word or Trivial: A cosmetic problem, such as a misspelled word or
misaligned text. misaligned text.
</option> </option>
<option name="enhancement" value="enhancement"> <option name="enhancement" value="enhancement">
...@@ -518,24 +520,24 @@ function PutDescription() { ...@@ -518,24 +520,24 @@ function PutDescription() {
</td> </td>
</tr> </tr>
</table> </table>
<a name="step3"></a> <a name="step3"></a>
<h3>Step 3 - submit the bug</h3> <h3>Step 3 - submit the [% terms.bug %]</h3>
<p> <p>
<input type="submit" value=" Submit Bug Report " <input type="submit" value=" Submit [% terms.Bug %] Report "
onclick="if (this.form.comment.value == '') onclick="if (this.form.comment.value == '')
{ alert('Please enter some details about this bug.'); { alert('Please enter some details about this [% terms.bug %].');
this.form.comment.focus(); this.form.comment.focus();
return false; } return true;"> return false; } return true;">
</p> </p>
<p> <p>
That's it! Thanks very much. You'll be notified by email about any That's it! Thanks very much. You'll be notified by email about any
progress that is made on fixing your bug. progress that is made on fixing your [% terms.bug %].
</p> </p>
</form> </form>
[% PROCESS global/footer.html.tmpl %] [% PROCESS global/footer.html.tmpl %]
......
...@@ -86,7 +86,7 @@ function set_assign_to() { ...@@ -86,7 +86,7 @@ function set_assign_to() {
[% INCLUDE 'bug/create/user-message.html.tmpl' %] [% INCLUDE 'bug/create/user-message.html.tmpl' %]
</td> </td>
</tr> </tr>
<tr> <tr>
<td><br></td> <td><br></td>
</tr> </tr>
...@@ -94,11 +94,11 @@ function set_assign_to() { ...@@ -94,11 +94,11 @@ function set_assign_to() {
<tr> <tr>
<td align="right" valign="top"><strong>Reporter:</strong></td> <td align="right" valign="top"><strong>Reporter:</strong></td>
<td valign="top">[% reporter FILTER html %]</td> <td valign="top">[% reporter FILTER html %]</td>
<td align="right" valign="top"><strong>Product:</strong></td> <td align="right" valign="top"><strong>Product:</strong></td>
<td valign="top">[% product FILTER html %]</td> <td valign="top">[% product FILTER html %]</td>
</tr> </tr>
[%# We can't use the select block in these two cases for various reasons. %] [%# We can't use the select block in these two cases for various reasons. %]
<tr> <tr>
<td align="right" valign="top"> <td align="right" valign="top">
...@@ -112,8 +112,8 @@ function set_assign_to() { ...@@ -112,8 +112,8 @@ function set_assign_to() {
</option> </option>
[%- END %] [%- END %]
</select> </select>
</td> </td>
<td align="right" valign="top"> <td align="right" valign="top">
<strong> <strong>
<a href="describecomponents.cgi?product=[% product FILTER url_quote %]"> <a href="describecomponents.cgi?product=[% product FILTER url_quote %]">
...@@ -129,49 +129,49 @@ function set_assign_to() { ...@@ -129,49 +129,49 @@ function set_assign_to() {
</option> </option>
[%- END %] [%- END %]
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td>&nbsp;</td> <td>&nbsp;</td>
<td colspan="3"></td> <td colspan="3"></td>
</tr> </tr>
<tr> <tr>
[% sel = { description => 'Platform', name => 'rep_platform' } %] [% sel = { description => 'Platform', name => 'rep_platform' } %]
[% INCLUDE select %] [% INCLUDE select %]
[% sel = { description => 'OS', name => 'op_sys' } %] [% sel = { description => 'OS', name => 'op_sys' } %]
[% INCLUDE select %] [% INCLUDE select %]
</tr> </tr>
<tr> <tr>
[% IF Param('letsubmitterchoosepriority') %] [% IF Param('letsubmitterchoosepriority') %]
[% sel = { description => 'Priority', name => 'priority' } %] [% sel = { description => 'Priority', name => 'priority' } %]
[% INCLUDE select %] [% INCLUDE select %]
[% ELSE %] [% ELSE %]
<input type="hidden" name="priority" <input type="hidden" name="priority"
value="[% default.priority FILTER html %]"> value="[% default.priority FILTER html %]">
[% END %] [% END %]
[% sel = { description => 'Severity', name => 'bug_severity' } %] [% sel = { description => 'Severity', name => 'bug_severity' } %]
[% INCLUDE select %] [% INCLUDE select %]
</tr> </tr>
<tr> <tr>
<td>&nbsp;</td> <td>&nbsp;</td>
<td colspan="3"></td> <td colspan="3"></td>
</tr> </tr>
[% IF bug_status.size > 1 %] [% IF bug_status.size > 1 %]
<tr> <tr>
[% sel = { description => 'Initial State', name => 'bug_status' } %] [% sel = { description => 'Initial State', name => 'bug_status' } %]
[% INCLUDE select %] [% INCLUDE select %]
<td colspan="2"></td> <td colspan="2"></td>
</tr> </tr>
[% ELSE %] [% ELSE %]
<input type="hidden" name="bug_status" value="[% default.bug_status %]"> <input type="hidden" name="bug_status" value="[% default.bug_status %]">
[% END %] [% END %]
<tr> <tr>
...@@ -216,18 +216,18 @@ function set_assign_to() { ...@@ -216,18 +216,18 @@ function set_assign_to() {
<tr> <tr>
<td align="right"><strong>URL:</strong></td> <td align="right"><strong>URL:</strong></td>
<td colspan="3"> <td colspan="3">
<input name="bug_file_loc" size="60" <input name="bug_file_loc" size="60"
value="[% bug_file_loc FILTER html %]"> value="[% bug_file_loc FILTER html %]">
</td> </td>
</tr> </tr>
<tr> <tr>
<td align="right"><strong>Summary:</strong></td> <td align="right"><strong>Summary:</strong></td>
<td colspan="3"> <td colspan="3">
<input name="short_desc" size="60" value="[% short_desc FILTER html %]"> <input name="short_desc" size="60" value="[% short_desc FILTER html %]">
</td> </td>
</tr> </tr>
<tr><td align="right" valign="top"><strong>Description:</strong></td> <tr><td align="right" valign="top"><strong>Description:</strong></td>
<td colspan="3"> <td colspan="3">
<textarea wrap="hard" name="comment" rows="10" cols="80"> <textarea wrap="hard" name="comment" rows="10" cols="80">
...@@ -266,18 +266,18 @@ function set_assign_to() { ...@@ -266,18 +266,18 @@ function set_assign_to() {
</td> </td>
</tr> </tr>
[% END %] [% END %]
<tr> <tr>
<td></td> <td></td>
<td colspan="3"> <td colspan="3">
[% IF group.size %] [% IF group.size %]
<br> <br>
<strong> <strong>
Only users in all of the selected groups can view this bug: Only users in all of the selected groups can view this [% terms.bug %]:
</strong> </strong>
<br> <br>
<font size="-1"> <font size="-1">
(Leave all boxes unchecked to make this a public bug.) (Leave all boxes unchecked to make this a public [% terms.bug %].)
</font> </font>
<br> <br>
<br> <br>
...@@ -294,16 +294,16 @@ function set_assign_to() { ...@@ -294,16 +294,16 @@ function set_assign_to() {
[% END %] [% END %]
</td> </td>
</tr> </tr>
<tr> <tr>
<td></td> <td></td>
<td colspan="3"> <td colspan="3">
<input type="submit" value=" Commit " <input type="submit" value=" Commit "
onclick="if (this.form.short_desc.value == '') onclick="if (this.form.short_desc.value == '')
{ alert('Please enter a summary sentence for this bug.'); { alert('Please enter a summary sentence for this [% terms.bug %].');
return false; } return true;"> return false; } return true;">
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;
<input type="submit" name="maketemplate" <input type="submit" name="maketemplate"
value="Remember values as bookmarkable template"> value="Remember values as bookmarkable template">
</td> </td>
</tr> </tr>
...@@ -313,8 +313,8 @@ function set_assign_to() { ...@@ -313,8 +313,8 @@ function set_assign_to() {
<td></td> <td></td>
<td colspan="3"> <td colspan="3">
<br> <br>
We've made a guess at your operating system and platform. We've made a guess at your operating system and platform.
Please check them and, if we got it wrong, email Please check them and, if we got it wrong, email
[% Param('maintainer') %]. [% Param('maintainer') %].
</td> </td>
</tr> </tr>
...@@ -338,7 +338,7 @@ function set_assign_to() { ...@@ -338,7 +338,7 @@ function set_assign_to() {
</strong> </strong>
</td> </td>
[% END %] [% END %]
<td> <td>
<select name="[% sel.name %]"> <select name="[% sel.name %]">
[%- FOREACH x = ${sel.name} %] [%- FOREACH x = ${sel.name} %]
......
...@@ -19,8 +19,10 @@ ...@@ -19,8 +19,10 @@
# Contributor(s): Gervase Markham <gerv@gerv.net> # Contributor(s): Gervase Markham <gerv@gerv.net>
#%] #%]
[% PROCESS global/header.html.tmpl [% PROCESS global/variables.none.tmpl %]
title = "Bug $id Submitted"
[% PROCESS global/header.html.tmpl
title = "$terms.Bug $id Submitted"
%] %]
[% header_done = 1 %] [% header_done = 1 %]
......
...@@ -19,14 +19,16 @@ ...@@ -19,14 +19,16 @@
# Contributor(s): Gervase Markham <gerv@gerv.net> # Contributor(s): Gervase Markham <gerv@gerv.net>
#%] #%]
[% PROCESS global/header.html.tmpl [% PROCESS global/variables.none.tmpl %]
[% PROCESS global/header.html.tmpl
title = "Bookmarks are your friend" title = "Bookmarks are your friend"
h1 = "Template constructed" h1 = "Template constructed"
%] %]
<p> <p>
If you bookmark <a href="enter_bug.cgi?[% url FILTER html %]">this link</a>, If you bookmark <a href="enter_bug.cgi?[% url FILTER html %]">this link</a>,
going to the bookmark will bring up the enter bug page with the fields going to the bookmark will bring up the enter [% terms.bug %] page with the fields
initialized as you've requested. initialized as you've requested.
</p> </p>
......
...@@ -28,7 +28,9 @@ ...@@ -28,7 +28,9 @@
# the 'product' variable. # the 'product' variable.
#%] #%]
Before reporting a bug, please read the <a href="bugwritinghelp.html"> [% PROCESS global/variables.none.tmpl %]
bug writing guidelines</a>, please look at the list of
<a href="duplicates.cgi">most frequently reported bugs</a>, and please Before reporting [% terms.abug %], please read the <a href="bugwritinghelp.html">
<a href="query.cgi">search</a> for the bug. [% terms.bug %] writing guidelines</a>, please look at the list of
<a href="duplicates.cgi">most frequently reported [% terms.bugs %]</a>, and please
<a href="query.cgi">search</a> for the [% terms.bug %].
...@@ -24,21 +24,23 @@ ...@@ -24,21 +24,23 @@
# multiple_bugs: boolean. True if bug_id contains > 1 bug number. # multiple_bugs: boolean. True if bug_id contains > 1 bug number.
# doall: boolean. True if we are displaying every bug in the database. # doall: boolean. True if we are displaying every bug in the database.
# showsummary: boolean. True if we are showing bug summaries. # showsummary: boolean. True if we are showing bug summaries.
# rankdir: string. "TB" if we are ranking top-to-bottom, # rankdir: string. "TB" if we are ranking top-to-bottom,
"LR" if left-to-right. "LR" if left-to-right.
# image_url: string. The URL of the graphic showing the dependencies. # image_url: string. The URL of the graphic showing the dependencies.
# map_url: string. The URL of the map file for the image. (Optional) # map_url: string. The URL of the map file for the image. (Optional)
# image_map: string. The image map for the graphic showing the # image_map: string. The image map for the graphic showing the
dependencies. (Optional) dependencies. (Optional)
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% title = "Dependency Graph" [% title = "Dependency Graph"
h1 = title h1 = title
%] %]
[% IF NOT multiple_bugs AND NOT doall %] [% IF NOT multiple_bugs AND NOT doall %]
[% title = "$title for bug $bug_id" [% title = "$title for $terms.bug $bug_id"
h1 = "$h1 for bug <a href=\"show_bug.cgi?id=$bug_id\">$bug_id</a>" h1 = "$h1 for $terms.bug <a href=\"show_bug.cgi?id=$bug_id\">$bug_id</a>"
%] %]
[% END %] [% END %]
...@@ -47,14 +49,14 @@ ...@@ -47,14 +49,14 @@
[% image_map %] [% image_map %]
<p> <p>
Green circles represent open bugs. Green circles represent open [% terms.bugs %].
</p> </p>
[% IF image_map %] [% IF image_map %]
<img src="[% image_url %]" alt="Dependency graph" usemap="#imagemap"> <img src="[% image_url %]" alt="Dependency graph" usemap="#imagemap">
[% ELSE %] [% ELSE %]
<a href="[% map_url %]"> <a href="[% map_url %]">
<img src="[% image_url %]" alt="Dependency graph" ismap="ismap"> <img src="[% image_url %]" alt="Dependency graph" ismap="ismap">
</a> </a>
[% END %] [% END %]
...@@ -64,27 +66,27 @@ ...@@ -64,27 +66,27 @@
<table> <table>
<tr> <tr>
<td> <td>
Bug numbers: [% terms.Bug %] numbers:
<input name="id" value="[% bug_id %]"> <input name="id" value="[% bug_id %]">
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<input type="checkbox" name="doall" <input type="checkbox" name="doall"
[% " checked" IF doall %]> [% " checked" IF doall %]>
Show <b>every</b> bug in the system with dependencies Show <b>every</b> [% terms.bug %] in the system with dependencies
</td> </td>
</tr> </tr>
<tr> <tr>
<td colspan="3"> <td colspan="3">
<input type="checkbox" name="showsummary" <input type="checkbox" name="showsummary"
[% " checked" IF showsummary %]> [% " checked" IF showsummary %]>
Show the summaries of all displayed bugs Show the summaries of all displayed [% terms.bugs %]
</td> </td>
</tr> </tr>
<tr> <tr>
<td colspan="3"> <td colspan="3">
<select name="rankdir"> <select name="rankdir">
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# License Version 1.1 (the "License"); you may not use this file # License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of # except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/ # the License at http://www.mozilla.org/MPL/
# #
# Software distributed under the License is distributed on an "AS # Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing # implied. See the License for the specific language governing
...@@ -21,20 +21,23 @@ ...@@ -21,20 +21,23 @@
# Myk Melez <myk@mozilla.org> # Myk Melez <myk@mozilla.org>
#%] #%]
[% PROCESS global/header.html.tmpl [% INCLUDE global/variables.none.tmpl %]
title = "Dependency tree for Bug $bugid"
h1 = "Dependency tree for <a href=\"show_bug.cgi?id=$bugid\">bug $bugid</a>" [% PROCESS global/header.html.tmpl
title = "Dependency tree for $terms.Bug $bugid"
h1 = "Dependency tree for <a href=\"show_bug.cgi?id=$bugid\">$terms.Bug $bugid</a>"
style = "strike { background-color: #d9d9d9; color: #000000; }" style = "strike { background-color: #d9d9d9; color: #000000; }"
%] %]
[% PROCESS depthControlToolbar %] [% PROCESS depthControlToolbar %]
[%# Display the tree of bugs that this bug depends on. %] [%# Display the tree of bugs that this bug depends on. %]
<h3>[% hide_resolved ? "Open b" : "B" %]ugs that <a href="show_bug.cgi?id=[% bugid %]">bug [% bugid %]</a> depends on</h3> <h3>[% hide_resolved ? "Open $terms.bugs" : "$terms.Bugs" %]
that <a href="show_bug.cgi?id=[% bugid %]">[% terms.bug %]&nbsp;[% bugid %]</a> depends on</h3>
[% IF dependson_ids.size > 0 %] [% IF dependson_ids.size > 0 %]
( (
[% IF maxdepth -%]Up to [% maxdepth %] level[% "s" IF maxdepth > 1 %] deep | [% END %] [% IF maxdepth -%]Up to [% maxdepth %] level[% "s" IF maxdepth > 1 %] deep | [% END %]
<a href="buglist.cgi?bug_id=[% dependson_ids.join(",") %]">view as bug list</a> <a href="buglist.cgi?bug_id=[% dependson_ids.join(",") %]">view as [% terms.bug %] list</a>
[% IF canedit && dependson_ids.size > 1 %] [% IF canedit && dependson_ids.size > 1 %]
| <a href="buglist.cgi?bug_id=[% dependson_ids.join(",") %]&amp;tweak=1">change several</a> | <a href="buglist.cgi?bug_id=[% dependson_ids.join(",") %]&amp;tweak=1">change several</a>
[% END %]) [% END %])
...@@ -45,11 +48,12 @@ ...@@ -45,11 +48,12 @@
[% END %] [% END %]
[%# Display the tree of bugs that this bug blocks. %] [%# Display the tree of bugs that this bug blocks. %]
<h3>[% hide_resolved ? "Open b" : "B" %]ugs that <a href="show_bug.cgi?id=[% bugid %]">bug [% bugid %]</a> blocks</h3> <h3>[% hide_resolved ? "Open $terms.bugs" : "$terms.Bugs" %]
that <a href="show_bug.cgi?id=[% bugid %]">[% terms.bug %]&nbsp;[% bugid %]</a> blocks</h3>
[% IF blocked_ids.size > 0 %] [% IF blocked_ids.size > 0 %]
( (
[% IF maxdepth -%]Up to [% maxdepth %] level[% "s" IF maxdepth > 1 %] deep | [% END %] [% IF maxdepth -%]Up to [% maxdepth %] level[% "s" IF maxdepth > 1 %] deep | [% END %]
<a href="buglist.cgi?bug_id=[% blocked_ids.join(",") %]">view as bug list</a> <a href="buglist.cgi?bug_id=[% blocked_ids.join(",") %]">view as [% terms.bug %] list</a>
[% IF canedit && blocked_ids.size > 1 %] [% IF canedit && blocked_ids.size > 1 %]
| <a href="buglist.cgi?bug_id=[% blocked_ids.join(",") %]&amp;tweak=1">change several</a> | <a href="buglist.cgi?bug_id=[% blocked_ids.join(",") %]&amp;tweak=1">change several</a>
[% END %]) [% END %])
...@@ -75,16 +79,16 @@ ...@@ -75,16 +79,16 @@
[% dep = tree.$dep_id %] [% dep = tree.$dep_id %]
<li> <li>
[% "<strike>" IF !dep.open %] [% "<strike>" IF !dep.open %]
<a href="show_bug.cgi?id=[% dep_id %]">[% dep_id %] <a href="show_bug.cgi?id=[% dep_id %]">[% dep_id %]
[[% IF dep.milestone %][% dep.milestone FILTER html %], [% END %] [[% IF dep.milestone %][% dep.milestone FILTER html %], [% END %]
[% dep.assignee_email FILTER html %]] - [% dep.assignee_email FILTER html %]] -
[% IF dep.seen %] [% IF dep.seen %]
<i>This bug appears elsewhere in this tree.</i></a> <i>This [% terms.bug %] appears elsewhere in this tree.</i></a>
[% ELSE %] [% ELSE %]
[% dep.summary FILTER html %].</a> [% dep.summary FILTER html %].</a>
[% END %] [% END %]
[% "</strike>" IF !dep.open %] [% "</strike>" IF !dep.open %]
[% INCLUDE display_tree bug_id=dep_id [% INCLUDE display_tree bug_id=dep_id
IF dep.dependencies.size > 0 && !dep.seen %] IF dep.dependencies.size > 0 && !dep.seen %]
</li> </li>
[% END %] [% END %]
...@@ -101,7 +105,7 @@ ...@@ -101,7 +105,7 @@
[%# Hide/show resolved button [%# Hide/show resolved button
Swaps text depending on the state of hide_resolved %] Swaps text depending on the state of hide_resolved %]
<td align="center"> <td align="center">
<form method="get" action="showdependencytree.cgi" <form method="get" action="showdependencytree.cgi"
style="display: inline; margin: 0px;"> style="display: inline; margin: 0px;">
<input name="id" type="hidden" value="[% bugid %]"> <input name="id" type="hidden" value="[% bugid %]">
[% IF maxdepth %] [% IF maxdepth %]
...@@ -124,7 +128,7 @@ ...@@ -124,7 +128,7 @@
<form method="get" action="showdependencytree.cgi" <form method="get" action="showdependencytree.cgi"
style="display: inline; margin: 0px;"> style="display: inline; margin: 0px;">
[%# set to one form %] [%# set to one form %]
<input type="submit" value="&nbsp;1&nbsp;" [% <input type="submit" value="&nbsp;1&nbsp;" [%
realdepth < 2 || maxdepth == 1 ? "disabled" : "" realdepth < 2 || maxdepth == 1 ? "disabled" : ""
%]> %]>
<input name="id" type="hidden" value="[% bugid %]"> <input name="id" type="hidden" value="[% bugid %]">
...@@ -134,28 +138,28 @@ ...@@ -134,28 +138,28 @@
</td> </td>
<td> <td>
<form method="get" action="showdependencytree.cgi" <form method="get" action="showdependencytree.cgi"
style="display: inline; margin: 0px;"> style="display: inline; margin: 0px;">
[%# Minus one form [%# Minus one form
Allow subtracting only when realdepth and maxdepth > 1 %] Allow subtracting only when realdepth and maxdepth > 1 %]
<input name="id" type="hidden" value="[% bugid %]"> <input name="id" type="hidden" value="[% bugid %]">
<input name="maxdepth" type="hidden" value="[% <input name="maxdepth" type="hidden" value="[%
maxdepth == 1 ? 1 maxdepth == 1 ? 1
: ( maxdepth ? maxdepth - 1 : realdepth - 1 ) : ( maxdepth ? maxdepth - 1 : realdepth - 1 )
%]"> %]">
<input name="hide_resolved" type="hidden" value="[% hide_resolved %]"> <input name="hide_resolved" type="hidden" value="[% hide_resolved %]">
<input type="submit" value="&nbsp;&lt;&nbsp;" [% <input type="submit" value="&nbsp;&lt;&nbsp;" [%
realdepth < 2 || ( maxdepth && maxdepth < 2 ) ? "disabled" : "" realdepth < 2 || ( maxdepth && maxdepth < 2 ) ? "disabled" : ""
%]> %]>
</form> </form>
</td> </td>
<td> <td>
<form method="get" action="showdependencytree.cgi" <form method="get" action="showdependencytree.cgi"
style="display: inline; margin: 0px;"> style="display: inline; margin: 0px;">
[%# Limit entry form: the button can not do anything when total depth [%# Limit entry form: the button can not do anything when total depth
is less than two, so disable it %] is less than two, so disable it %]
<input name="maxdepth" size="4" maxlength="4" value="[% <input name="maxdepth" size="4" maxlength="4" value="[%
maxdepth > 0 && maxdepth <= realdepth ? maxdepth : "" maxdepth > 0 && maxdepth <= realdepth ? maxdepth : ""
%]"> %]">
<input name="id" type="hidden" value="[% bugid %]"> <input name="id" type="hidden" value="[% bugid %]">
...@@ -167,16 +171,16 @@ ...@@ -167,16 +171,16 @@
</td> </td>
<td> <td>
<form method="get" action="showdependencytree.cgi" <form method="get" action="showdependencytree.cgi"
style="display: inline; margin: 0px;"> style="display: inline; margin: 0px;">
[%# plus one form [%# plus one form
Disable button if total depth < 2, or if depth set to unlimited %] Disable button if total depth < 2, or if depth set to unlimited %]
<input name="id" type="hidden" value="[% bugid %]"> <input name="id" type="hidden" value="[% bugid %]">
[% IF maxdepth %] [% IF maxdepth %]
<input name="maxdepth" type="hidden" value="[% maxdepth + 1 %]"> <input name="maxdepth" type="hidden" value="[% maxdepth + 1 %]">
[% END %] [% END %]
<input name="hide_resolved" type="hidden" value="[% hide_resolved %]"> <input name="hide_resolved" type="hidden" value="[% hide_resolved %]">
<input type="submit" value="&nbsp;&gt;&nbsp;" [% <input type="submit" value="&nbsp;&gt;&nbsp;" [%
realdepth < 2 || ! maxdepth || maxdepth >= realdepth ? realdepth < 2 || ! maxdepth || maxdepth >= realdepth ?
"disabled" : "" "disabled" : ""
%]> %]>
...@@ -184,12 +188,12 @@ ...@@ -184,12 +188,12 @@
</td> </td>
<td> <td>
<form method="get" action="showdependencytree.cgi" <form method="get" action="showdependencytree.cgi"
style="display: inline; margin: 0px;"> style="display: inline; margin: 0px;">
[%# Unlimited button %] [%# Unlimited button %]
<input name="id" type="hidden" value="[% bugid %]"> <input name="id" type="hidden" value="[% bugid %]">
<input name="hide_resolved" type="hidden" value="[% hide_resolved %]"> <input name="hide_resolved" type="hidden" value="[% hide_resolved %]">
<input type="submit" value="&nbsp;Unlimited&nbsp;" <input type="submit" value="&nbsp;Unlimited&nbsp;"
[% maxdepth == 0 || maxdepth == realdepth ? "disabled" : "" %]> [% maxdepth == 0 || maxdepth == realdepth ? "disabled" : "" %]>
</form> </form>
</td> </td>
......
...@@ -17,9 +17,11 @@ ...@@ -17,9 +17,11 @@
# Rights Reserved. # Rights Reserved.
# #
# Contributor(s): Gervase Markham <gerv@gerv.net> # Contributor(s): Gervase Markham <gerv@gerv.net>
# Vaskin Kissoyan <vkissoyan@yahoo.com> # Vaskin Kissoyan <vkissoyan@yahoo.com>
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% PROCESS bug/time.html.tmpl %] [% PROCESS bug/time.html.tmpl %]
[% IF UserInGroup(Param('timetrackinggroup')) %] [% IF UserInGroup(Param('timetrackinggroup')) %]
...@@ -33,7 +35,7 @@ ...@@ -33,7 +35,7 @@
new_time = new_time =
fRemainingTime - document.changeform.work_time.value; fRemainingTime - document.changeform.work_time.value;
// get upto 2 decimal places // get upto 2 decimal places
document.changeform.remaining_time.value = document.changeform.remaining_time.value =
Math.round(new_time * 100)/100; Math.round(new_time * 100)/100;
} }
...@@ -55,42 +57,42 @@ ...@@ -55,42 +57,42 @@
[%# *** Hardware Reporter Product OS AddCC *** %] [%# *** Hardware Reporter Product OS AddCC *** %]
<table cellspacing="1" cellpadding="1" border="0"> <table cellspacing="1" cellpadding="1" border="0">
<tr> <tr>
<td align="right"> <td align="right">
<b>Bug#:</b> <b>[% terms.Bug %]#:</b>
</td> </td>
<td> <td>
<a href="[% Param('urlbase') %]show_bug.cgi?id=[% bug.bug_id %]"> <a href="[% Param('urlbase') %]show_bug.cgi?id=[% bug.bug_id %]">
[% bug.bug_id %]</a> [% bug.bug_id %]</a>
[% IF Param("usebugaliases") %] [% IF Param("usebugaliases") %]
<label title="a name for the bug that can be used in place of its ID number, f.e. when adding it to a list of dependencies"> <label title="a name for the [% terms.bug %] that can be used in place of its ID number, f.e. when adding it to a list of dependencies">
<b>alias:</b> <b>alias:</b>
<input name="alias" value="[% bug.alias FILTER html %]" size="20" maxlength="20"> <input name="alias" value="[% bug.alias FILTER html %]" size="20" maxlength="20">
</label> </label>
[% END %] [% END %]
</td> </td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td align="right"> <td align="right">
<b><u>H</u>ardware:</b> <b><u>H</u>ardware:</b>
</td> </td>
[% PROCESS select selname => "rep_platform" accesskey => "h" %] [% PROCESS select selname => "rep_platform" accesskey => "h" %]
<td align="right"> <td align="right">
<b>Reporter:</b> <b>Reporter:</b>
</td> </td>
<td> <td>
[% bug.reporter.identity FILTER html %] [% bug.reporter.identity FILTER html %]
</td> </td>
</tr> </tr>
<tr> <tr>
<td align="right"> <td align="right">
<b><u>P</u>roduct:</b> <b><u>P</u>roduct:</b>
</td> </td>
[% PROCESS select selname => "product" accesskey => "p" %] [% PROCESS select selname => "product" accesskey => "p" %]
<td align="right"> <td align="right">
<b><u>O</u>S:</b> <b><u>O</u>S:</b>
</td> </td>
...@@ -104,7 +106,7 @@ ...@@ -104,7 +106,7 @@
</td> </td>
</tr> </tr>
[%# *** Component Version CC Priority Severity AssignedTo Milestone *** %] [%# *** Component Version CC Priority Severity AssignedTo Milestone *** %]
<tr> <tr>
<td align="right"> <td align="right">
...@@ -114,16 +116,16 @@ ...@@ -114,16 +116,16 @@
</b> </b>
</td> </td>
[% PROCESS select selname => "component" accesskey => "m" %] [% PROCESS select selname => "component" accesskey => "m" %]
<td align="right"> <td align="right">
<b><u>V</u>ersion:</b> <b><u>V</u>ersion:</b>
</td> </td>
[% PROCESS select selname => "version" accesskey => "v" %] [% PROCESS select selname => "version" accesskey => "v" %]
<td rowspan="4" align="right" valign="top"> <td rowspan="4" align="right" valign="top">
<b>CC:</b> <b>CC:</b>
</td> </td>
<td rowspan="4" valign="top"> <td rowspan="4" valign="top">
[% IF bug.cc %] [% IF bug.cc %]
<select name="cc" multiple="multiple" size="5"> <select name="cc" multiple="multiple" size="5">
[% FOREACH c = bug.cc %] [% FOREACH c = bug.cc %]
...@@ -138,22 +140,22 @@ ...@@ -138,22 +140,22 @@
[% END %] [% END %]
</td> </td>
</tr> </tr>
<tr> <tr>
<td align="right"> <td align="right">
<b> <b>
<a href="bug_status.html">Status</a>: <a href="bug_status.html">Status</a>:
</b> </b>
</td> </td>
<td>[% bug.bug_status FILTER html %]</td> <td>[% bug.bug_status FILTER html %]</td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td align="right"> <td align="right">
<b><a href="bug_status.html#priority">Pr<u>i</u>ority</a>:</b> <b><a href="bug_status.html#priority">Pr<u>i</u>ority</a>:</b>
</td> </td>
[% PROCESS select selname => "priority" accesskey => "i" %] [% PROCESS select selname => "priority" accesskey => "i" %]
</tr> </tr>
<tr> <tr>
<td align="right"> <td align="right">
<b> <b>
...@@ -163,18 +165,18 @@ ...@@ -163,18 +165,18 @@
<td> <td>
[% bug.resolution FILTER html %] [% bug.resolution FILTER html %]
[% IF bug.resolution == "DUPLICATE" %] [% IF bug.resolution == "DUPLICATE" %]
of [% "bug ${bug.dup_id}" FILTER bug_link(bug.dup_id) %] of [% terms.bug %]&nbsp;[% "${bug.dup_id}" FILTER bug_link(bug.dup_id) %]
[% END %] [% END %]
</td> </td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td align="right"> <td align="right">
<b><a href="bug_status.html#severity">S<u>e</u>verity</a>:</b> <b><a href="bug_status.html#severity">S<u>e</u>verity</a>:</b>
</td> </td>
[% PROCESS select selname = "bug_severity" accesskey => "e" %] [% PROCESS select selname = "bug_severity" accesskey => "e" %]
</tr> </tr>
<tr> <tr>
<td align="right"> <td align="right">
<b> <b>
...@@ -183,7 +185,7 @@ ...@@ -183,7 +185,7 @@
</td> </td>
<td>[% bug.assigned_to.identity FILTER html %]</td> <td>[% bug.assigned_to.identity FILTER html %]</td>
<td>&nbsp;</td> <td>&nbsp;</td>
[% IF Param("usetargetmilestone") && bug.target_milestone %] [% IF Param("usetargetmilestone") && bug.target_milestone %]
<td align="right"> <td align="right">
<b> <b>
...@@ -228,7 +230,7 @@ ...@@ -228,7 +230,7 @@
<input name="bug_file_loc" accesskey="u" <input name="bug_file_loc" accesskey="u"
value="[% bug.bug_file_loc FILTER html %]" size="60"> value="[% bug.bug_file_loc FILTER html %]" size="60">
</td> </td>
<td rowspan="4" colspan="2" valign="top"> <td rowspan="4" colspan="2" valign="top">
[% IF bug.flag_types.size > 0 %] [% IF bug.flag_types.size > 0 %]
[% PROCESS "flag/list.html.tmpl" [% PROCESS "flag/list.html.tmpl"
flag_types = bug.flag_types flag_types = bug.flag_types
...@@ -236,7 +238,7 @@ ...@@ -236,7 +238,7 @@
[% END %] [% END %]
</td> </td>
</tr> </tr>
<tr> <tr>
<td align="right"> <td align="right">
<b><u>S</u>ummary:</b> <b><u>S</u>ummary:</b>
...@@ -247,7 +249,7 @@ ...@@ -247,7 +249,7 @@
</td> </td>
</tr> </tr>
[% IF Param('usestatuswhiteboard') %] [% IF Param('usestatuswhiteboard') %]
<tr> <tr>
<td align="right"> <td align="right">
<b>Status <u>W</u>hiteboard:</b> <b>Status <u>W</u>hiteboard:</b>
...@@ -269,7 +271,7 @@ ...@@ -269,7 +271,7 @@
<input name="keywords" accesskey="k" <input name="keywords" accesskey="k"
value="[% bug.keywords.join(', ') FILTER html %]" size="60"> value="[% bug.keywords.join(', ') FILTER html %]" size="60">
</td> </td>
</tr> </tr>
[% END %] [% END %]
</table> </table>
...@@ -299,16 +301,16 @@ ...@@ -299,16 +301,16 @@
<tr> <tr>
<td align="center"> <td align="center">
<input name="estimated_time" <input name="estimated_time"
value="[% PROCESS formattimeunit value="[% PROCESS formattimeunit
time_unit=bug.estimated_time %]" time_unit=bug.estimated_time %]"
size="6" maxlength="6"> size="6" maxlength="6">
</td> </td>
<td align="center"> <td align="center">
[% PROCESS formattimeunit [% PROCESS formattimeunit
time_unit=(bug.actual_time + bug.remaining_time) %] time_unit=(bug.actual_time + bug.remaining_time) %]
</td> </td>
<td align="center"> <td align="center">
[% PROCESS formattimeunit time_unit=bug.actual_time %] + [% PROCESS formattimeunit time_unit=bug.actual_time %] +
<input name="work_time" value="0" size="3" maxlength="6" <input name="work_time" value="0" size="3" maxlength="6"
onchange="adjustRemainingTime();"> onchange="adjustRemainingTime();">
</td> </td>
...@@ -328,11 +330,11 @@ ...@@ -328,11 +330,11 @@
</tr> </tr>
</table> </table>
[% END %] [% END %]
[%# *** Attachments *** %] [%# *** Attachments *** %]
[% PROCESS attachment/list.html.tmpl [% PROCESS attachment/list.html.tmpl
attachments = bug.attachments attachments = bug.attachments
bugid = bug.bug_id bugid = bug.bug_id
num_attachment_flag_types = bug.num_attachment_flag_types num_attachment_flag_types = bug.num_attachment_flag_types
show_attachment_flags = bug.show_attachment_flags show_attachment_flags = bug.show_attachment_flags
...@@ -345,12 +347,12 @@ ...@@ -345,12 +347,12 @@
[% PROCESS dependencies accesskey = "d" [% PROCESS dependencies accesskey = "d"
dep = { title => "<u>d</u>epends on", fieldname => "dependson" } %] dep = { title => "<u>d</u>epends on", fieldname => "dependson" } %]
<td rowspan="2"> <td rowspan="2">
<a href="showdependencytree.cgi?id=[% bug.bug_id %]">Show <a href="showdependencytree.cgi?id=[% bug.bug_id %]">Show
dependency tree</a> dependency tree</a>
[% IF Param('webdotbase') %] [% IF Param('webdotbase') %]
<br> <br>
<a href="showdependencygraph.cgi?id=[% bug.bug_id %]">Show <a href="showdependencygraph.cgi?id=[% bug.bug_id %]">Show
dependency graph</a> dependency graph</a>
[% END %] [% END %]
</td> </td>
...@@ -370,10 +372,10 @@ ...@@ -370,10 +372,10 @@
</th> </th>
<td> <td>
[% bug.votes %]&nbsp;&nbsp;&nbsp; [% bug.votes %]&nbsp;&nbsp;&nbsp;
<a href="votes.cgi?action=show_bug&amp;bug_id=[% bug.bug_id %]">Show <a href="votes.cgi?action=show_bug&amp;bug_id=[% bug.bug_id %]">Show
votes for this bug</a>&nbsp;&nbsp;&nbsp; votes for this [% terms.bug %]</a>&nbsp;&nbsp;&nbsp;
<a href="votes.cgi?action=show_user&amp;bug_id=[% bug.bug_id %]">Vote <a href="votes.cgi?action=show_user&amp;bug_id=[% bug.bug_id %]">Vote
for this bug</a> for this [% terms.bug %]</a>
</td> </td>
</tr> </tr>
</table> </table>
...@@ -402,17 +404,17 @@ ...@@ -402,17 +404,17 @@
[% IF NOT emitted_description %] [% IF NOT emitted_description %]
[% emitted_description = 1 %] [% emitted_description = 1 %]
<br> <br>
<b>Only users in all of the selected groups can view this bug:</b> <b>Only users in all of the selected groups can view this [% terms.bug %]:</b>
<br> <br>
<font size="-1"> <font size="-1">
(Unchecking all boxes makes this a more public bug.) (Unchecking all boxes makes this a more public [% terms.bug %].)
</font> </font>
<br> <br>
<br> <br>
[% END %] [% END %]
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;
<input type="checkbox" name="bit-[% group.bit %]" value="1" <input type="checkbox" name="bit-[% group.bit %]" value="1"
[% " checked=\"checked\"" IF group.ison %] [% " checked=\"checked\"" IF group.ison %]
[% " disabled=\"disabled\"" IF NOT group.ingroup %]> [% " disabled=\"disabled\"" IF NOT group.ingroup %]>
[% group.description %] [% group.description %]
...@@ -422,7 +424,7 @@ ...@@ -422,7 +424,7 @@
[% IF NOT inallgroups %] [% IF NOT inallgroups %]
<b> <b>
Only members of a group can change the visibility of a bug for Only members of a group can change the visibility of [% terms.abug %] for
that group that group
</b> </b>
<br> <br>
...@@ -430,15 +432,15 @@ ...@@ -430,15 +432,15 @@
[% IF inagroup %] [% IF inagroup %]
<p> <p>
<b>Users in the roles selected below can always view this bug:</b> <b>Users in the roles selected below can always view this [% terms.bug %]:</b>
<br> <br>
<small> <small>
(The assignee (The assignee
[% IF (Param('useqacontact')) %] [% IF (Param('useqacontact')) %]
and QA contact and QA contact
[% END %] [% END %]
can always see a bug, and this section does not take effect unless can always see [% terms.abug %], and this section does not take effect unless
the bug is restricted to at least one group.) the [% terms.bug %] is restricted to at least one group.)
</small> </small>
</p> </p>
...@@ -447,7 +449,7 @@ ...@@ -447,7 +449,7 @@
[% " checked" IF bug.reporter_accessible %]>Reporter [% " checked" IF bug.reporter_accessible %]>Reporter
<input type="checkbox" name="cclist_accessible" value="1" <input type="checkbox" name="cclist_accessible" value="1"
[% " checked" IF bug.cclist_accessible %]>CC List [% " checked" IF bug.cclist_accessible %]>CC List
</p> </p>
[% END %] [% END %]
[% END %] [% END %]
...@@ -461,10 +463,10 @@ ...@@ -461,10 +463,10 @@
[% knum = 1 %] [% knum = 1 %]
[% IF bug.bug_status == "UNCONFIRMED" && [% IF bug.bug_status == "UNCONFIRMED" &&
bug.user.canconfirm %] bug.user.canconfirm %]
<input type="radio" name="knob" value="confirm"> <input type="radio" name="knob" value="confirm">
Confirm bug (change status to <b>NEW</b>) Confirm [% terms.bug %] (change status to <b>NEW</b>)
<br> <br>
[% knum = knum + 1 %] [% knum = knum + 1 %]
[% END %] [% END %]
...@@ -473,8 +475,8 @@ ...@@ -473,8 +475,8 @@
[% IF bug.isopened %] [% IF bug.isopened %]
[% IF bug.bug_status != "ASSIGNED" && bug.user.canconfirm %] [% IF bug.bug_status != "ASSIGNED" && bug.user.canconfirm %]
<input type="radio" name="knob" value="accept"> <input type="radio" name="knob" value="accept">
Accept bug ( Accept [% terms.bug %] (
[% "confirm bug, " IF bug.isunconfirmed %]change [% IF bug.isunconfirmed %]confirm [% terms.bug %], [% END %]change
status to <b>ASSIGNED</b>) status to <b>ASSIGNED</b>)
<br> <br>
[% knum = knum + 1 %] [% knum = knum + 1 %]
...@@ -483,13 +485,13 @@ ...@@ -483,13 +485,13 @@
[% IF bug.resolution %] [% IF bug.resolution %]
<input type="radio" name="knob" value="clearresolution"> <input type="radio" name="knob" value="clearresolution">
Clear the resolution (remove the current resolution of Clear the resolution (remove the current resolution of
<b>[% bug.resolution FILTER html %]</b>)<br> <b>[% bug.resolution FILTER html %]</b>)<br>
[% knum = knum + 1 %] [% knum = knum + 1 %]
[% END %] [% END %]
<input type="radio" name="knob" value="resolve"> <input type="radio" name="knob" value="resolve">
Resolve bug, changing <a href="bug_status.html">resolution</a> to Resolve [% terms.bug %], changing <a href="bug_status.html">resolution</a> to
<select name="resolution" <select name="resolution"
onchange="document.changeform.knob[[% knum %]].checked=true"> onchange="document.changeform.knob[[% knum %]].checked=true">
[% FOREACH r = bug.choices.resolution %] [% FOREACH r = bug.choices.resolution %]
<option value="[% r FILTER html %]">[% r FILTER html %]</option> <option value="[% r FILTER html %]">[% r FILTER html %]</option>
...@@ -499,66 +501,66 @@ ...@@ -499,66 +501,66 @@
[% knum = knum + 1 %] [% knum = knum + 1 %]
<input type="radio" name="knob" value="duplicate"> <input type="radio" name="knob" value="duplicate">
Resolve bug, mark it as duplicate of bug # Resolve [% terms.bug %], mark it as duplicate of [% terms.bug %] #
<input name="dup_id" size="6" <input name="dup_id" size="6"
onchange="if (this.value != '') onchange="if (this.value != '')
{document.changeform.knob[[% knum %]].checked=true}"> {document.changeform.knob[[% knum %]].checked=true}">
<br> <br>
[% knum = knum + 1 %] [% knum = knum + 1 %]
<input type="radio" name="knob" value="reassign"> <input type="radio" name="knob" value="reassign">
<a href="bug_status.html#assigned_to">Reassign</a> bug to <a href="bug_status.html#assigned_to">Reassign</a> [% terms.bug %] to
<input name="assigned_to" size="32" <input name="assigned_to" size="32"
onchange="if ((this.value != '[% bug.assigned_to.email FILTER js %]') && onchange="if ((this.value != '[% bug.assigned_to.email FILTER js %]') &&
(this.value != '')) { (this.value != '')) {
document.changeform.knob[[% knum %]].checked=true; document.changeform.knob[[% knum %]].checked=true;
}" }"
value="[% bug.assigned_to.email FILTER html %]"> value="[% bug.assigned_to.email FILTER html %]">
<br> <br>
[% IF bug.isunconfirmed && bug.user.canconfirm %] [% IF bug.isunconfirmed && bug.user.canconfirm %]
&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" name="andconfirm"> &nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" name="andconfirm">
and confirm bug (change status to <b>NEW</b>) and confirm [% terms.bug %] (change status to <b>NEW</b>)
<br> <br>
[% END %] [% END %]
[% knum = knum + 1 %] [% knum = knum + 1 %]
<input type="radio" name="knob" value="reassignbycomponent"> <input type="radio" name="knob" value="reassignbycomponent">
Reassign bug to owner Reassign [% terms.bug %] to owner
[% " and QA contact" IF Param('useqacontact') %] [% " and QA contact" IF Param('useqacontact') %]
of selected component of selected component
<br> <br>
[% IF bug.isunconfirmed && bug.user.canconfirm %] [% IF bug.isunconfirmed && bug.user.canconfirm %]
&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" name="compconfirm"> &nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" name="compconfirm">
and confirm bug (change status to <b>NEW</b>) and confirm [% terms.bug %] (change status to <b>NEW</b>)
<br> <br>
[% END %] [% END %]
[% knum = knum + 1 %] [% knum = knum + 1 %]
[% ELSE %] [% ELSE %]
[% IF bug.resolution != "MOVED" || [% IF bug.resolution != "MOVED" ||
(bug.resolution == "MOVED" && bug.user.canmove) %] (bug.resolution == "MOVED" && bug.user.canmove) %]
<input type="radio" name="knob" value="reopen"> Reopen bug <input type="radio" name="knob" value="reopen"> Reopen [% terms.bug %]
<br> <br>
[% knum = knum + 1 %] [% knum = knum + 1 %]
[% END %] [% END %]
[% IF bug.bug_status == "RESOLVED" %] [% IF bug.bug_status == "RESOLVED" %]
<input type="radio" name="knob" value="verify"> <input type="radio" name="knob" value="verify">
Mark bug as <b>VERIFIED</b><br> Mark [% terms.bug %] as <b>VERIFIED</b><br>
[% knum = knum + 1 %] [% knum = knum + 1 %]
[% END %] [% END %]
[% IF bug.bug_status != "CLOSED" %] [% IF bug.bug_status != "CLOSED" %]
<input type="radio" name="knob" value="close"> <input type="radio" name="knob" value="close">
Mark bug as <b>CLOSED</b><br> Mark [% terms.bug %] as <b>CLOSED</b><br>
[% knum = knum + 1 %] [% knum = knum + 1 %]
[% END %] [% END %]
[% END %] [% END %]
[% END %] [% END %]
<input type="submit" value="Commit"> <input type="submit" value="Commit">
<input type="hidden" name="form_name" value="process_bug"> <input type="hidden" name="form_name" value="process_bug">
<p> <p>
<font size="+1"> <font size="+1">
<b> <b>
<a href="show_activity.cgi?id=[% bug.bug_id %]">View Bug Activity</a> <a href="show_activity.cgi?id=[% bug.bug_id %]">View [% terms.Bug %] Activity</a>
&nbsp; | &nbsp; &nbsp; | &nbsp;
<a href="long_list.cgi?buglist=[% bug.bug_id %]">Format For Printing</a> <a href="long_list.cgi?buglist=[% bug.bug_id %]">Format For Printing</a>
</b> </b>
...@@ -566,10 +568,10 @@ ...@@ -566,10 +568,10 @@
[% IF bug.user.canmove %] [% IF bug.user.canmove %]
&nbsp; <font size="+1"><b> | </b></font> &nbsp; &nbsp; <font size="+1"><b> | </b></font> &nbsp;
<input type="submit" name="action" <input type="submit" name="action"
value="[% Param("move-button-text") %]"> value="[% Param("move-button-text") %]">
[% END %] [% END %]
</p> </p>
[%# *** Additional Comments *** %] [%# *** Additional Comments *** %]
...@@ -587,11 +589,11 @@ ...@@ -587,11 +589,11 @@
</table> </table>
<hr> <hr>
[% PROCESS bug/comments.html.tmpl [% PROCESS bug/comments.html.tmpl
comments = bug.longdescs comments = bug.longdescs
mode = "edit" mode = "edit"
%] %]
</form> </form>
[%############################################################################%] [%############################################################################%]
...@@ -599,7 +601,7 @@ ...@@ -599,7 +601,7 @@
[%############################################################################%] [%############################################################################%]
[% BLOCK dependencies %] [% BLOCK dependencies %]
<th align="right">Bug [% bug.bug_id %] [%+ dep.title %]:</th> <th align="right">[% terms.Bug %]&nbsp;[% bug.bug_id %] [%+ dep.title %]:</th>
<td> <td>
[% FOREACH depbug = bug.${dep.fieldname} %] [% FOREACH depbug = bug.${dep.fieldname} %]
[% depbug FILTER bug_link(depbug) %][% " " %] [% depbug FILTER bug_link(depbug) %][% " " %]
...@@ -616,7 +618,7 @@ ...@@ -616,7 +618,7 @@
[%# Block for SELECT fields #%] [%# Block for SELECT fields #%]
[%############################################################################%] [%############################################################################%]
[% BLOCK select %] [% BLOCK select %]
<td> <td>
<label for="[% selname %]" accesskey="[% accesskey %]"> <label for="[% selname %]" accesskey="[% accesskey %]">
<select name="[% selname %]" id="[% selname %]"> <select name="[% selname %]" id="[% selname %]">
......
...@@ -18,18 +18,20 @@ ...@@ -18,18 +18,20 @@
# #
# Contributor(s): Gervase Markham <gerv@gerv.net> # Contributor(s): Gervase Markham <gerv@gerv.net>
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% IF bug_list && bug_list.size > 0 %] [% IF bug_list && bug_list.size > 0 %]
[% this_bug_idx = lsearch(bug_list, bug.bug_id) %] [% this_bug_idx = lsearch(bug_list, bug.bug_id) %]
<b>Bug List:</b> <b>[% terms.Bug %] List:</b>
[% IF this_bug_idx != -1 %] [% IF this_bug_idx != -1 %]
([% this_bug_idx + 1 %] of [% bug_list.size %]) ([% this_bug_idx + 1 %] of [% bug_list.size %])
[% END %] [% END %]
<a href="show_bug.cgi?id=[% bug_list.first %]">First</a> <a href="show_bug.cgi?id=[% bug_list.first %]">First</a>
<a href="show_bug.cgi?id=[% bug_list.last %]">Last</a> <a href="show_bug.cgi?id=[% bug_list.last %]">Last</a>
[% IF bug.bug_id %] [% IF bug.bug_id %]
[% IF this_bug_idx != -1 %] [% IF this_bug_idx != -1 %]
[% IF this_bug_idx > 0 %] [% IF this_bug_idx > 0 %]
[% prev_bug = this_bug_idx - 1 %] [% prev_bug = this_bug_idx - 1 %]
...@@ -37,7 +39,7 @@ ...@@ -37,7 +39,7 @@
[% ELSE %] [% ELSE %]
<i><font color="#777777">Prev</font></i> <i><font color="#777777">Prev</font></i>
[% END %] [% END %]
[% IF this_bug_idx + 1 < bug_list.size %] [% IF this_bug_idx + 1 < bug_list.size %]
[% next_bug = this_bug_idx + 1 %] [% next_bug = this_bug_idx + 1 %]
<a href="show_bug.cgi?id=[% bug_list.$next_bug %]">Next</a> <a href="show_bug.cgi?id=[% bug_list.$next_bug %]">Next</a>
...@@ -45,14 +47,14 @@ ...@@ -45,14 +47,14 @@
<i><font color="#777777">Next</font></i> <i><font color="#777777">Next</font></i>
[% END %] [% END %]
[% ELSE %] [% ELSE %]
(This bug is not in your list) (This [% terms.bug %] is not in your list)
[% END %] [% END %]
[% ELSE %] [% ELSE %]
&nbsp;&nbsp; &nbsp;&nbsp;
[% END %] [% END %]
&nbsp;&nbsp;<a href="buglist.cgi?regetlastlist=1">Show list</a> &nbsp;&nbsp;<a href="buglist.cgi?regetlastlist=1">Show list</a>
[% END %] [% END %]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="query.cgi">Query page</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="query.cgi">Query page</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="enter_bug.cgi">Enter new bug</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="enter_bug.cgi">Enter new [% terms.bug %]</a>
...@@ -22,20 +22,22 @@ ...@@ -22,20 +22,22 @@
[%# INTERFACE: [%# INTERFACE:
# mailing_bugid: string. ID of the bug this mail is concerning. # mailing_bugid: string. ID of the bug this mail is concerning.
# mailrecipients: hash. People involved in this change. Hash has up to five # mailrecipients: hash. People involved in this change. Hash has up to five
# elements: # elements:
# changer: string. The login name of the user who made the # changer: string. The login name of the user who made the
# change. # change.
# #
# For bug changes where people need to be notified: # For bug changes where people need to be notified:
# owner: string. The login name of the bug assignee. # owner: string. The login name of the bug assignee.
# reporter: string. The login name of the bug reporter. # reporter: string. The login name of the bug reporter.
# qacontact: string. The login name of the bug's QA contact. # qacontact: string. The login name of the bug's QA contact.
# Optional. # Optional.
# cc: list of strings. The login names of those on the CC # cc: list of strings. The login names of those on the CC
# list. # list.
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% mail = SendBugMail(mailing_bugid, mailrecipients) %] [% mail = SendBugMail(mailing_bugid, mailrecipients) %]
[% PROCESS emails [% PROCESS emails
...@@ -49,7 +51,7 @@ ...@@ -49,7 +51,7 @@
%] %]
<br> <br>
<center> <center>
If you wish to tweak the kinds of mail Bugzilla sends you, you can If you wish to tweak the kinds of mail [% terms.Bugzilla %] sends you, you can
<a href="userprefs.cgi?tab=email">change your preferences</a>. <a href="userprefs.cgi?tab=email">change your preferences</a>.
</center> </center>
...@@ -62,7 +64,7 @@ ...@@ -62,7 +64,7 @@
<b>[% description %]:</b> <b>[% description %]:</b>
[% IF names.size > 0 %] [% IF names.size > 0 %]
[%+ FOREACH name = names %] [%+ FOREACH name = names %]
[% name %][% ", " UNLESS loop.last() %] [% name %][% ", " UNLESS loop.last() %]
[% END %] [% END %]
[% ELSE %] [% ELSE %]
no one no one
......
...@@ -26,45 +26,47 @@ ...@@ -26,45 +26,47 @@
# against which a bug is being duped # against which a bug is being duped
# duplicate_bug_id: number; the bug number for the bug # duplicate_bug_id: number; the bug number for the bug
# being duped # being duped
# cclist_accessible: boolean; whether or not users on the cc: list # cclist_accessible: boolean; whether or not users on the cc: list
# of the original bug can access that bug. # of the original bug can access that bug.
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% PROCESS global/header.html.tmpl title="Duplicate Warning" %] [% PROCESS global/header.html.tmpl title="Duplicate Warning" %]
<p> <p>
When marking a bug as a duplicate, the reporter of the duplicate When marking [% terms.abug %] as a duplicate, the reporter of the duplicate
is normally added to the CC list of the original. The permissions is normally added to the CC list of the original. The permissions
on bug [% original_bug_id %] (the original) are currently set on [% terms.bug %]&nbsp;[% original_bug_id %] (the original) are currently set
such that the reporter would not normally be able to see it. such that the reporter would not normally be able to see it.
</p> </p>
<p> <p>
<b>Adding the reporter to the CC list of bug [% original_bug_id %] <b>Adding the reporter to the CC list of [% terms.bug %]&nbsp;[% original_bug_id %]
[% IF cclist_accessible %] [% IF cclist_accessible %]
will immediately will immediately
[% ELSE %] [% ELSE %]
might, in the future, might, in the future,
[% END %] [% END %]
allow him/her access to view this bug.</b> allow him/her access to view this [% terms.bug %].</b>
Do you wish to do this? Do you wish to do this?
</p> </p>
<form method="post" action="process_bug.cgi"> <form method="post" action="process_bug.cgi">
[% PROCESS "global/hidden-fields.html.tmpl" exclude="^Bugzilla_(login|password)$" %] [% PROCESS "global/hidden-fields.html.tmpl" exclude="^Bugzilla_(login|password)$" %]
<p> <p>
<input type="radio" name="confirm_add_duplicate" value="1"> <input type="radio" name="confirm_add_duplicate" value="1">
Yes, add the reporter to CC list on bug [% original_bug_id %] Yes, add the reporter to CC list on [% terms.bug %]&nbsp;[% original_bug_id %]
</p> </p>
<p> <p>
<input type="radio" name="confirm_add_duplicate" value="0" checked="checked"> <input type="radio" name="confirm_add_duplicate" value="0" checked="checked">
No, do not add the reporter to CC list on bug [% original_bug_id %] No, do not add the reporter to CC list on [% terms.bug %]&nbsp;[% original_bug_id %]
</p> </p>
<p> <p>
<a href="show_bug.cgi?id=[% duplicate_bug_id %]">Throw away my changes, <a href="show_bug.cgi?id=[% duplicate_bug_id %]">Throw away my changes,
and revisit bug [% duplicate_bug_id %]</a> and revisit [% terms.bug %]&nbsp;[% duplicate_bug_id %]</a>
<p> <p>
<input type="submit" value="Submit"> <input type="submit" value="Submit">
</p> </p>
......
...@@ -22,11 +22,13 @@ ...@@ -22,11 +22,13 @@
[%# INTERFACE: [%# INTERFACE:
# As global/header.html.tmpl. # As global/header.html.tmpl.
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% IF title_tag == "bug_processed" %] [% IF title_tag == "bug_processed" %]
[% title = "Bug processed" %] [% title = "$terms.Bug processed" %]
[% ELSIF title_tag == "mid_air" %] [% ELSIF title_tag == "mid_air" %]
[% title = "Mid-air collision!" %] [% title = "Mid-air collision!" %]
[% END %] [% END %]
[% PROCESS global/header.html.tmpl %] [% PROCESS global/header.html.tmpl %]
...@@ -33,7 +33,9 @@ ...@@ -33,7 +33,9 @@
# comments: array; all the comments on the bug. # comments: array; all the comments on the bug.
# bug_id: number; the ID of the bug being changed. # bug_id: number; the ID of the bug being changed.
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% UNLESS header_done %] [% UNLESS header_done %]
[% PROCESS bug/process/header.html.tmpl %] [% PROCESS bug/process/header.html.tmpl %]
[% END %] [% END %]
...@@ -41,14 +43,14 @@ ...@@ -41,14 +43,14 @@
<h1>Mid-air collision detected!</h1> <h1>Mid-air collision detected!</h1>
<p> <p>
Someone else has made changes to this bug at the same time you were trying to. Someone else has made changes to this [% terms.bug %] at the same time you were trying to.
The changes made were: The changes made were:
</p> </p>
<p> <p>
[% PROCESS "bug/activity/table.html.tmpl" incomplete_data=0 %] [% PROCESS "bug/activity/table.html.tmpl" incomplete_data=0 %]
</p> </p>
[% IF comments.size > start_at %] [% IF comments.size > start_at %]
<p> <p>
Added comments: Added comments:
...@@ -72,8 +74,8 @@ You have the following choices: ...@@ -72,8 +74,8 @@ You have the following choices:
</form> </form>
</li> </li>
<li> <li>
<a href="show_bug.cgi?id=[% bug_id %]">Throw away my changes, <a href="show_bug.cgi?id=[% bug_id %]">Throw away my changes,
and revisit bug [% bug_id %]</a> and revisit [% terms.bug %]&nbsp;[% bug_id %]</a>
</li> </li>
</ul> </ul>
......
...@@ -23,10 +23,12 @@ ...@@ -23,10 +23,12 @@
# bug : Bug object; the next bug to show # bug : Bug object; the next bug to show
#%] #%]
[% PROCESS global/variables.none.tmpl %]
<hr> <hr>
<p> <p>
The next bug in your list is bug The next [% terms.bug %] in your list is [% terms.bug %]
<a href="show_bug.cgi?id=[% bug.bug_id %]">[% bug.bug_id %]</a>: <a href="show_bug.cgi?id=[% bug.bug_id %]">[% bug.bug_id %]</a>:
</p> </p>
......
...@@ -25,24 +25,26 @@ ...@@ -25,24 +25,26 @@
# type: string; the type of change/check that was made: "bug" when a bug # type: string; the type of change/check that was made: "bug" when a bug
# is changed, "dupe" when a duplication notation is added to a bug, # is changed, "dupe" when a duplication notation is added to a bug,
# and "dep" when a bug is checked for changes to its dependencies. # and "dep" when a bug is checked for changes to its dependencies.
# #
# mailrecipients: hash; BugMail recipient params. Optional. # mailrecipients: hash; BugMail recipient params. Optional.
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% UNLESS header_done %] [% UNLESS header_done %]
[% PROCESS bug/process/header.html.tmpl %] [% PROCESS bug/process/header.html.tmpl %]
[% END %] [% END %]
[% DEFAULT type="bug" %] [% DEFAULT type="bug" %]
[% [%
title = { title = {
'bug' => "Changes submitted for bug $id" , 'bug' => "Changes submitted for $terms.bug $id" ,
'dupe' => "Duplicate notation added to bug $id" , 'dupe' => "Duplicate notation added to $terms.bug $id" ,
'dep' => "Checking for dependency changes on bug $id" , 'dep' => "Checking for dependency changes on $terms.bug $id" ,
'votes' => "Bug $id confirmed by number of votes" , 'votes' => "$terms.Bug $id confirmed by number of votes" ,
'created' => "Bug $id has been added to the database" , 'created' => "$terms.Bug $id has been added to the database" ,
} }
%] %]
<table border="1"> <table border="1">
...@@ -52,7 +54,7 @@ ...@@ -52,7 +54,7 @@
[% PROCESS "bug/process/bugmail.html.tmpl" mailing_bugid = id %] [% PROCESS "bug/process/bugmail.html.tmpl" mailing_bugid = id %]
</td> </td>
<td> <td>
<a href="show_bug.cgi?id=[% id %]">Back To BUG# [% id %]</a> <a href="show_bug.cgi?id=[% id %]">Back To [% terms.Bug %]# [% id %]</a>
</td> </td>
</tr> </tr>
</table> </table>
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
[%# INTERFACE: [%# INTERFACE:
# form: hash; the form values submitted to the script # form: hash; the form values submitted to the script
# mform: hash; the form multi-values submitted to the script # mform: hash; the form multi-values submitted to the script
# verify_fields: boolean; whether or not to verify # verify_fields: boolean; whether or not to verify
# the version, component, and target milestone fields # the version, component, and target milestone fields
# versions: array; versions for the new product. # versions: array; versions for the new product.
# components: array; components for the new product. # components: array; components for the new product.
...@@ -31,13 +31,15 @@ ...@@ -31,13 +31,15 @@
# those fields # those fields
# verify_bug_group: boolean; whether or not to ask the user # verify_bug_group: boolean; whether or not to ask the user
# if they want to add the bug to its new product's group # if they want to add the bug to its new product's group
# use_target_milestone: boolean; whether or not to use # use_target_milestone: boolean; whether or not to use
# the target milestone field # the target milestone field
#%] #%]
[% PROCESS global/variables.none.tmpl %]
<form action="process_bug.cgi" method="post"> <form action="process_bug.cgi" method="post">
[% PROCESS "global/hidden-fields.html.tmpl" [% PROCESS "global/hidden-fields.html.tmpl"
exclude=(verify_fields ? "^version|component|target_milestone$" : "") %] exclude=(verify_fields ? "^version|component|target_milestone$" : "") %]
[%# Verify the version, component, and target milestone fields. %] [%# Verify the version, component, and target milestone fields. %]
...@@ -46,12 +48,12 @@ ...@@ -46,12 +48,12 @@
<p> <p>
[% IF use_target_milestone %] [% IF use_target_milestone %]
You are moving the bug(s) to the product <b>[% form.product %]</b>, You are moving the [% terms.bug %](s) to the product <b>[% form.product %]</b>,
and the version, component, and/or target milestone fields are no longer and the version, component, and/or target milestone fields are no longer
correct. Please set the correct version, component, and target milestone now: correct. Please set the correct version, component, and target milestone now:
[% ELSE %] [% ELSE %]
You are moving the bug(s) to the product <b>[% form.product %]</b>, You are moving the [% terms.bug %](s) to the product <b>[% form.product %]</b>,
and the version and component fields are no longer correct. and the version and component fields are no longer correct.
Please set the correct version and component now: Please set the correct version and component now:
[% END %] [% END %]
<p> <p>
...@@ -76,19 +78,19 @@ ...@@ -76,19 +78,19 @@
</table> </table>
[% END %] [% END %]
[% IF verify_bug_group %] [% IF verify_bug_group %]
<h3>Verify Bug Group</h3> <h3>Verify [% terms.Bug %] Group</h3>
<p> <p>
Do you want to add the bug to its new product's default groups (if any)? Do you want to add the [% terms.bug %] to its new product's default groups (if any)?
</p> </p>
<p> <p>
<input type="radio" name="addtonewgroup" value="no"><b>no</b><br> <input type="radio" name="addtonewgroup" value="no"><b>no</b><br>
<input type="radio" name="addtonewgroup" value="yes"><b>yes</b><br> <input type="radio" name="addtonewgroup" value="yes"><b>yes</b><br>
<input type="radio" name="addtonewgroup" value="yesifinold" checked="checked"> <input type="radio" name="addtonewgroup" value="yesifinold" checked="checked">
<b>yes, but only if the bug was in any of its old product's default groups</b><br> <b>yes, but only if the [% terms.bug %] was in any of its old product's default groups</b><br>
</p> </p>
[% END %] [% END %]
......
...@@ -20,8 +20,10 @@ ...@@ -20,8 +20,10 @@
# Gervase Markham <gerv@gerv.net> # Gervase Markham <gerv@gerv.net>
#%] #%]
[% PROCESS global/header.html.tmpl [% PROCESS global/variables.none.tmpl %]
title = "Full Text Bug Listing"
[% PROCESS global/header.html.tmpl
title = "Full Text $terms.Bug Listing"
style_urls = [ "css/show_multiple.css" ] style_urls = [ "css/show_multiple.css" ]
%] %]
[% PROCESS bug/time.html.tmpl %] [% PROCESS bug/time.html.tmpl %]
...@@ -31,7 +33,7 @@ ...@@ -31,7 +33,7 @@
[% END %] [% END %]
[% ELSE %] [% ELSE %]
<p> <p>
You'd have more luck if you gave me some bug numbers. You'd have more luck if you gave me some [% terms.bug %] numbers.
</p> </p>
[% END %] [% END %]
...@@ -47,54 +49,54 @@ ...@@ -47,54 +49,54 @@
<img alt="" src="1x1.gif" width="1" height="80" align="left"> <img alt="" src="1x1.gif" width="1" height="80" align="left">
<div align="center"> <div align="center">
<b> <b>
<font size="+3">Bug [% bug.bug_id %] - [% bug.short_desc FILTER html %]</font> <font size="+3">[% terms.Bug %]&nbsp;[% bug.bug_id %] - [% bug.short_desc FILTER html %]</font>
</b> </b>
</div> </div>
<table width="100%"> <table width="100%">
<tr> <tr>
<td> <td>
<b>Bug#:</b> <b>[% terms.Bug %]#:</b>
<a href="show_bug.cgi?id=[% bug.bug_id %]">[% bug.bug_id %]</a> <a href="show_bug.cgi?id=[% bug.bug_id %]">[% bug.bug_id %]</a>
</td> </td>
[% PROCESS cell attr = { description => "Product", [% PROCESS cell attr = { description => "Product",
name => "product" } %] name => "product" } %]
[% PROCESS cell attr = { description => "Version", [% PROCESS cell attr = { description => "Version",
name => "version" } %] name => "version" } %]
[% PROCESS cell attr = { description => "Platform", [% PROCESS cell attr = { description => "Platform",
name => "rep_platform" } %] name => "rep_platform" } %]
</tr> </tr>
<tr> <tr>
[% PROCESS cell attr = { description => "OS/Version", [% PROCESS cell attr = { description => "OS/Version",
name => "op_sys" } %] name => "op_sys" } %]
[% PROCESS cell attr = { description => "Status", [% PROCESS cell attr = { description => "Status",
name => "bug_status" } %] name => "bug_status" } %]
[% PROCESS cell attr = { description => "Severity", [% PROCESS cell attr = { description => "Severity",
name => "bug_severity" } %] name => "bug_severity" } %]
[% PROCESS cell attr = { description => "Priority", [% PROCESS cell attr = { description => "Priority",
name => "priority" } %] name => "priority" } %]
</tr> </tr>
<tr> <tr>
[% PROCESS cell attr = { description => "Resolution", [% PROCESS cell attr = { description => "Resolution",
name => "resolution" } %] name => "resolution" } %]
[% PROCESS cell attr = { description => "Assigned To", [% PROCESS cell attr = { description => "Assigned To",
name => "assigned_to" } %] name => "assigned_to" } %]
[% PROCESS cell attr = { description => "Reported By", [% PROCESS cell attr = { description => "Reported By",
name => "reporter" } %] name => "reporter" } %]
[% IF Param('useqacontact') %] [% IF Param('useqacontact') %]
[% PROCESS cell attr = { description => "QA Contact", [% PROCESS cell attr = { description => "QA Contact",
name => "qa_contact" } %] name => "qa_contact" } %]
[% END %] [% END %]
</tr> </tr>
<tr> <tr>
<td colspan="2"> <td colspan="2">
<b>Component:</b>&nbsp; <b>Component:</b>&nbsp;
[% bug.component %] [% bug.component %]
</td> </td>
<td colspan="2"> <td colspan="2">
[% IF Param('usetargetmilestone') %] [% IF Param('usetargetmilestone') %]
<b>Target Milestone:</b>&nbsp; <b>Target Milestone:</b>&nbsp;
...@@ -102,20 +104,20 @@ ...@@ -102,20 +104,20 @@
[% END %] [% END %]
</td> </td>
</tr> </tr>
<tr> <tr>
<td colspan="4"> <td colspan="4">
<b>URL:</b>&nbsp; <b>URL:</b>&nbsp;
<a href="[% bug.bug_file_loc FILTER html %]"> <a href="[% bug.bug_file_loc FILTER html %]">
[% bug.bug_file_loc FILTER html %]</a> [% bug.bug_file_loc FILTER html %]</a>
</tr> </tr>
<tr> <tr>
<td colspan="4"> <td colspan="4">
<b>Summary:</b>&nbsp;[% bug.short_desc FILTER html %] <b>Summary:</b>&nbsp;[% bug.short_desc FILTER html %]
</td> </td>
</tr> </tr>
[% IF use_keywords %] [% IF use_keywords %]
<tr> <tr>
<td colspan="4"> <td colspan="4">
...@@ -140,7 +142,7 @@ ...@@ -140,7 +142,7 @@
[% PROCESS formattimeunit time_unit=bug.estimated_time %] [% PROCESS formattimeunit time_unit=bug.estimated_time %]
&nbsp; &nbsp;
<b>Current Est.:</b>&nbsp; <b>Current Est.:</b>&nbsp;
[% PROCESS formattimeunit [% PROCESS formattimeunit
time_unit=(bug.remaining_time + bug.actual_time) %] time_unit=(bug.remaining_time + bug.actual_time) %]
&nbsp; &nbsp;
<b>Hours Worked:</b>&nbsp; <b>Hours Worked:</b>&nbsp;
...@@ -149,10 +151,10 @@ ...@@ -149,10 +151,10 @@
[% PROCESS formattimeunit time_unit=bug.remaining_time %] [% PROCESS formattimeunit time_unit=bug.remaining_time %]
&nbsp; &nbsp;
<b>Percentage Complete:</b>&nbsp; <b>Percentage Complete:</b>&nbsp;
[% PROCESS calculatepercentage act=bug.actual_time [% PROCESS calculatepercentage act=bug.actual_time
rem=bug.remaining_time %]&nbsp; rem=bug.remaining_time %]&nbsp;
<b>Gain</b>&nbsp; <b>Gain</b>&nbsp;
[% PROCESS formattimeunit [% PROCESS formattimeunit
time_unit=bug.estimated_time - (bug.actual_time + bug.remaining_time) %] time_unit=bug.estimated_time - (bug.actual_time + bug.remaining_time) %]
&nbsp; &nbsp;
</td> </td>
...@@ -172,9 +174,9 @@ ...@@ -172,9 +174,9 @@
</tr> </tr>
</table> </table>
[% PROCESS bug/comments.html.tmpl [% PROCESS bug/comments.html.tmpl
comments = bug.comments %] comments = bug.comments %]
<hr> <hr>
[% END %] [% END %]
......
...@@ -21,14 +21,16 @@ ...@@ -21,14 +21,16 @@
# Bradley Baetz <bbaetz@student.usyd.edu.au> # Bradley Baetz <bbaetz@student.usyd.edu.au>
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[%# This script/template only handles one bug #%] [%# This script/template only handles one bug #%]
[% bug = bugs.0 %] [% bug = bugs.0 %]
[% filtered_desc = bug.short_desc FILTER html %] [% filtered_desc = bug.short_desc FILTER html %]
[% filtered_timestamp = bug.delta_ts FILTER time %] [% filtered_timestamp = bug.delta_ts FILTER time %]
[% PROCESS global/header.html.tmpl [% PROCESS global/header.html.tmpl
title = "Bug $bug.bug_id - $bug.short_desc" title = "$terms.Bug $bug.bug_id - $bug.short_desc"
h1 = "Bugzilla Bug $bug.bug_id" h1 = "$terms.Bugzilla $terms.Bug $bug.bug_id"
h2 = filtered_desc h2 = filtered_desc
h3 = "Last modified: $filtered_timestamp" h3 = "Last modified: $filtered_timestamp"
style_urls = [ "css/edit_bug.css" ] style_urls = [ "css/edit_bug.css" ]
......
...@@ -20,16 +20,18 @@ ...@@ -20,16 +20,18 @@
#%] #%]
[%# INTERFACE: [%# INTERFACE:
# This template has no interface. # This template has no interface.
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% PROCESS global/header.html.tmpl [% PROCESS global/header.html.tmpl
title = "Remove your votes?" title = "Remove your votes?"
%] %]
<p> <p>
You are about to remove all of your bug votes. Are you sure you wish to You are about to remove all of your [% terms.bug %] votes. Are you sure you wish to
remove your vote from every bug you've voted on? remove your vote from every [% terms.bug %] you've voted on?
</p> </p>
<form action="votes.cgi" method="post"> <form action="votes.cgi" method="post">
......
...@@ -24,14 +24,16 @@ ...@@ -24,14 +24,16 @@
# users: list of hashes. May be empty. Each hash has two members: # users: list of hashes. May be empty. Each hash has two members:
# name: string. The login name of the user whose vote is attached # name: string. The login name of the user whose vote is attached
# count: integer. The number of times that user has votes for this bug. # count: integer. The number of times that user has votes for this bug.
# total: integer. The total number of votes for this bug. # total: integer. The total number of votes for this bug.
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% PROCESS global/header.html.tmpl [% PROCESS global/header.html.tmpl
title = "Show Votes" title = "Show Votes"
h2 = "Bug <a href=\"show_bug.cgi?id=$bug_id\">$bug_id</a>" h2 = "$terms.Bug <a href=\"show_bug.cgi?id=$bug_id\">$bug_id</a>"
%] %]
<table cellspacing="4"> <table cellspacing="4">
<tr> <tr>
<th>Who</th> <th>Who</th>
......
...@@ -19,6 +19,8 @@ ...@@ -19,6 +19,8 @@
# Contributor(s): Gervase Markham <gerv@gerv.net> # Contributor(s): Gervase Markham <gerv@gerv.net>
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% PROCESS global/header.html.tmpl [% PROCESS global/header.html.tmpl
title = "Show Votes" title = "Show Votes"
h2 = voting_user.name h2 = voting_user.name
...@@ -42,7 +44,7 @@ ...@@ -42,7 +44,7 @@
<table cellspacing="4"> <table cellspacing="4">
<tr> <tr>
<td></td> <td></td>
<th>Bug #</th> <th>[% terms.Bug %] #</th>
<th>Summary</th> <th>Summary</th>
<th>Votes</th> <th>Votes</th>
</tr> </tr>
...@@ -63,7 +65,7 @@ ...@@ -63,7 +65,7 @@
<td> <td>
<font size="-1"> <font size="-1">
(Note: only [% product.maxperbug %] vote (Note: only [% product.maxperbug %] vote
[% "s" IF product.maxperbug != 1 %] allowed per bug in [% "s" IF product.maxperbug != 1 %] allowed per [% terms.bug %] in
this product.) this product.)
</font> </font>
</td> </td>
...@@ -90,7 +92,7 @@ ...@@ -90,7 +92,7 @@
<input type="checkbox" name="[% bug.id %]" value="1" <input type="checkbox" name="[% bug.id %]" value="1"
[% " checked" IF bug.count %]> [% " checked" IF bug.count %]>
[% ELSE %] [% ELSE %]
<input name="[% bug.id %]" value="[% bug.count %]" <input name="[% bug.id %]" value="[% bug.count %]"
size="2"> size="2">
[% END %] [% END %]
[% ELSE %] [% ELSE %]
...@@ -125,7 +127,7 @@ ...@@ -125,7 +127,7 @@
change the checkbox change the checkbox
[% END %] [% END %]
and then click <b>Change My Votes</b>. and then click <b>Change My Votes</b>.
[% END %] [% END %]
</form> </form>
[% ELSE %] [% ELSE %]
<p> <p>
...@@ -134,7 +136,7 @@ ...@@ -134,7 +136,7 @@
[% ELSE %] [% ELSE %]
This user is This user is
[% END %] [% END %]
currently not voting on any bugs. currently not voting on any [% terms.bugs %].
</p> </p>
[% END %] [% END %]
......
...@@ -22,12 +22,14 @@ ...@@ -22,12 +22,14 @@
[%# Migration note: this file corresponds to the old Param 'bannerhtml' %] [%# Migration note: this file corresponds to the old Param 'bannerhtml' %]
[% PROCESS global/variables.none.tmpl %]
<table bgcolor="#000000" width="100%" border="0" cellpadding="0" <table bgcolor="#000000" width="100%" border="0" cellpadding="0"
cellspacing="0"> cellspacing="0">
<tr> <tr>
<td> <td>
<center><font color="#FFFFFF" size="8"> <center><font color="#FFFFFF" size="8">
This is Bugzilla This is [% terms.Bugzilla %]
</font></center> </font></center>
</td> </td>
</tr> </tr>
......
...@@ -24,11 +24,13 @@ ...@@ -24,11 +24,13 @@
# are their descriptions. # are their descriptions.
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% IF target == "enter_bug.cgi" %] [% IF target == "enter_bug.cgi" %]
[% title = "Enter Bug" %] [% title = "Enter $terms.Bug" %]
[% h2 = "First, you must pick a product on which to enter a bug." %] [% h2 = BLOCK %]First, you must pick a product on which to enter [% terms.abug %]. [% END %]
[% ELSIF target == "describecomponents.cgi" %] [% ELSIF target == "describecomponents.cgi" %]
[% title = "Bugzilla Component Descriptions" %] [% title = "$terms.Bugzilla Component Descriptions" %]
[% h2 = "Please specify the product whose components you want described." %] [% h2 = "Please specify the product whose components you want described." %]
[% END %] [% END %]
...@@ -50,7 +52,7 @@ ...@@ -50,7 +52,7 @@
[% END %] [% END %]
</tr> </tr>
[% END %] [% END %]
</table> </table>
[% PROCESS global/footer.html.tmpl %] [% PROCESS global/footer.html.tmpl %]
...@@ -25,16 +25,18 @@ ...@@ -25,16 +25,18 @@
# variables: hash. Useful data about the problem. The keys are the variable # variables: hash. Useful data about the problem. The keys are the variable
# names, and the values the variable values. # names, and the values the variable values.
#%] #%]
[%# This is a list of all the possible code errors. Please keep them in [%# This is a list of all the possible code errors. Please keep them in
# alphabetical order by error tag, and leave a blank line between errors. # alphabetical order by error tag, and leave a blank line between errors.
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% DEFAULT title = "Internal Error" %] [% DEFAULT title = "Internal Error" %]
[% error_message = BLOCK %] [% error_message = BLOCK %]
[% IF error == "aaa_example_error_tag" %] [% IF error == "aaa_example_error_tag" %]
[% title = "Example Error" %] [% title = "Example Error" %]
This is an example error. The title is set above. This text is the body This is an example error. The title is set above. This text is the body
of the error. It can contain arbitrary <b>HTML</b>, and also references of the error. It can contain arbitrary <b>HTML</b>, and also references
to any [% parameters %] which you may have set before calling to any [% parameters %] which you may have set before calling
...@@ -59,11 +61,11 @@ ...@@ -59,11 +61,11 @@
An authorization handler return value was not handled by the login code. An authorization handler return value was not handled by the login code.
[% ELSIF error == "bug_error" %] [% ELSIF error == "bug_error" %]
Trying to retrieve bug [% bug.bug_id %] returned the error Trying to retrieve [% terms.bug %] [%+ bug.bug_id %] returned the error
[% bug.error FILTER html %] [% bug.error FILTER html %]
[% ELSIF error == "chart_data_not_generated" %] [% ELSIF error == "chart_data_not_generated" %]
The tool which gathers bug counts has not been run yet. The tool which gathers [% terms.bug %] counts has not been run yet.
[% ELSIF error == "chart_datafile_corrupt" %] [% ELSIF error == "chart_datafile_corrupt" %]
The chart data file [% file FILTER html %] is corrupt. The chart data file [% file FILTER html %] is corrupt.
...@@ -82,7 +84,7 @@ ...@@ -82,7 +84,7 @@
[% ELSIF error == "field_type_mismatch" %] [% ELSIF error == "field_type_mismatch" %]
Cannot seem to handle <code>[% field %]</code> Cannot seem to handle <code>[% field %]</code>
and <code>[% type FILTER html %]</code> together. and <code>[% type FILTER html %]</code> together.
[% ELSIF error == "gd_not_installed" %] [% ELSIF error == "gd_not_installed" %]
Charts will not work without the GD Perl module being installed. Charts will not work without the GD Perl module being installed.
Run checksetup.pl for installation instructions. Run checksetup.pl for installation instructions.
...@@ -93,17 +95,17 @@ ...@@ -93,17 +95,17 @@
[% ELSIF error == "illegal_content_type_method" %] [% ELSIF error == "illegal_content_type_method" %]
Your form submission got corrupted somehow. The <em>content Your form submission got corrupted somehow. The <em>content
method</em> field, which specifies how the content type gets determined, method</em> field, which specifies how the content type gets determined,
should have been either <em>autodetect</em>, <em>list</em>, should have been either <em>autodetect</em>, <em>list</em>,
or <em>manual</em>, but was instead or <em>manual</em>, but was instead
<em>[% contenttypemethod FILTER html %]</em>. <em>[% contenttypemethod FILTER html %]</em>.
[% ELSIF error == "illegal_field" %] [% ELSIF error == "illegal_field" %]
A legal [% field FILTER html %] was not set. A legal [% field FILTER html %] was not set.
[% ELSIF error == "inactive_group" %] [% ELSIF error == "inactive_group" %]
Attempted to add bug to an inactive group, identified by the bit Attempted to add [% terms.bug %] to an inactive group, identified by the bit
'[% bit FILTER html %]'. '[% bit FILTER html %]'.
[% ELSIF error == "bad_arg" %] [% ELSIF error == "bad_arg" %]
Bad argument <code>[% argument %]</code> sent to Bad argument <code>[% argument %]</code> sent to
<code>[% function %]</code> function. <code>[% function %]</code> function.
...@@ -139,12 +141,12 @@ ...@@ -139,12 +141,12 @@
[% ELSIF error == "mismatched_bug_ids_on_obsolete" %] [% ELSIF error == "mismatched_bug_ids_on_obsolete" %]
Attachment [% attach_id FILTER html %] ([% description FILTER html %]) Attachment [% attach_id FILTER html %] ([% description FILTER html %])
is attached to bug [% attach_bug_id FILTER html %], but you tried to is attached to [% terms.bug %] [%+ attach_bug_id FILTER html %],
flag it as obsolete while creating a new attachment to bug but you tried to flag it as obsolete while creating a new attachment to
[% my_bug_id FILTER html %]. [% terms.bug %] [%+ my_bug_id FILTER html %].
[% ELSIF error == "no_bug_data" %] [% ELSIF error == "no_bug_data" %]
No data when fetching bug [% bug_id %]. No data when fetching [% terms.bug %] [%+ bug_id %].
[% ELSIF error == "flag_nonexistent" %] [% ELSIF error == "flag_nonexistent" %]
There is no flag with ID #[% variables.id %]. There is no flag with ID #[% variables.id %].
...@@ -170,7 +172,7 @@ ...@@ -170,7 +172,7 @@
The product <em>[% variables.product FILTER html %]</em> does not exist. The product <em>[% variables.product FILTER html %]</em> does not exist.
[% ELSIF error == "flag_type_target_type_invalid" %] [% ELSIF error == "flag_type_target_type_invalid" %]
The target type was neither <em>bug</em> nor <em>attachment</em> The target type was neither <em>[% terms.bug %]</em> nor <em>attachment</em>
but rather <em>[% variables.target_type FILTER html %]</em>. but rather <em>[% variables.target_type FILTER html %]</em>.
[% ELSIF error == "invalid_field_name" %] [% ELSIF error == "invalid_field_name" %]
...@@ -181,7 +183,7 @@ ...@@ -181,7 +183,7 @@
Invalid output type [% type FILTER html %]. Invalid output type [% type FILTER html %].
[% ELSIF error == "missing_bug_id" %] [% ELSIF error == "missing_bug_id" %]
No bug ID was given. No [% terms.bug %] ID was given.
[% ELSIF error == "missing_series_id" %] [% ELSIF error == "missing_series_id" %]
Having inserted a series into the database, no series_id was returned for Having inserted a series into the database, no series_id was returned for
...@@ -200,7 +202,7 @@ ...@@ -200,7 +202,7 @@
The group field <em>[% group FILTER html %]</em> is invalid. The group field <em>[% group FILTER html %]</em> is invalid.
[% ELSIF error == "report_axis_invalid" %] [% ELSIF error == "report_axis_invalid" %]
<em>[% variables.val FILTER html %]</em> is not a valid value for <em>[% variables.val FILTER html %]</em> is not a valid value for
[%+ IF variables.fld == "x" %]the horizontal axis [%+ IF variables.fld == "x" %]the horizontal axis
[%+ ELSIF variables.fld == "y" %]the vertical axis [%+ ELSIF variables.fld == "y" %]the vertical axis
[%+ ELSIF variables.fld == "z" %]the multiple tables/images [%+ ELSIF variables.fld == "z" %]the multiple tables/images
...@@ -214,7 +216,7 @@ ...@@ -214,7 +216,7 @@
[% ELSIF error == "unable_to_retrieve_password" %] [% ELSIF error == "unable_to_retrieve_password" %]
I was unable to retrieve your old password from the database. I was unable to retrieve your old password from the database.
[% ELSIF error == "undefined_field" %] [% ELSIF error == "undefined_field" %]
[% field FILTER html %] was not defined; [% Param('browserbugmessage') %] [% field FILTER html %] was not defined; [% Param('browserbugmessage') %]
...@@ -224,7 +226,7 @@ ...@@ -224,7 +226,7 @@
[% ELSE %] [% ELSE %]
I could not figure out what you wanted to do. I could not figure out what you wanted to do.
[% END %] [% END %]
[% ELSIF error == "unknown_component" %] [% ELSIF error == "unknown_component" %]
[% title = "Unknown Component" %] [% title = "Unknown Component" %]
There is no component named <em>[% variables.component FILTER html %]</em>. There is no component named <em>[% variables.component FILTER html %]</em>.
...@@ -235,12 +237,12 @@ ...@@ -235,12 +237,12 @@
[% ELSE %] [% ELSE %]
[%# Give sensible error if error functions are used incorrectly. [%# Give sensible error if error functions are used incorrectly.
#%] #%]
You are using Bugzilla's ThrowCodeError() function incorrectly. You You are using [% terms.Bugzilla %]'s ThrowCodeError() function incorrectly. You
passed in the string '[% error %]'. The correct use is to pass passed in the string '[% error %]'. The correct use is to pass
in a tag, and define that tag in the file code-error.html.tmpl.<br> in a tag, and define that tag in the file code-error.html.tmpl.<br>
<br> <br>
If you are a Bugzilla end-user seeing this message, please save this If you are a [% terms.Bugzilla %] end-user seeing this message, please save this
page and send it to [% Param('maintainer') %]. page and send it to [% Param('maintainer') %].
[% END %] [% END %]
[% END %] [% END %]
...@@ -251,8 +253,8 @@ ...@@ -251,8 +253,8 @@
<tt> <tt>
<p> <p>
Bugzilla has suffered an internal error. Please save this page and send [% terms.Bugzilla %] has suffered an internal error. Please save this page and send
it to [% Param("maintainer") %] with details of what you were doing at it to [% Param("maintainer") %] with details of what you were doing at
the time this message appeared. the time this message appeared.
</p> </p>
<script type="text/javascript"> <!-- <script type="text/javascript"> <!--
......
...@@ -20,12 +20,14 @@ ...@@ -20,12 +20,14 @@
#%] #%]
[%# Remember to PROCESS rather than INCLUDE this template. %] [%# Remember to PROCESS rather than INCLUDE this template. %]
[% field_descs = { "[Bug creation]" => "[Bug creation]", [% PROCESS global/variables.none.tmpl %]
[% field_descs = { "[Bug creation]" => "[$terms.Bug creation]",
"alias" => "Alias", "alias" => "Alias",
"assigned_to" => "Assignee", "assigned_to" => "Assignee",
"bug_file_loc" => "URL", "bug_file_loc" => "URL",
"bug_id" => "Bug ID", "bug_id" => "$terms.Bug ID",
"bug_severity" => "Severity", "bug_severity" => "Severity",
"bug_status" => "Status", "bug_status" => "Status",
"changeddate" => "Last Changed Date", "changeddate" => "Last Changed Date",
...@@ -33,7 +35,7 @@ ...@@ -33,7 +35,7 @@
"cclist_accessible" => "CC list accessible?", "cclist_accessible" => "CC list accessible?",
"component_id" => "Component ID", "component_id" => "Component ID",
"component" => "Component", "component" => "Component",
"creation_ts" => "Bug Creation time", "creation_ts" => "$terms.Bug Creation time",
"delta_ts" => "Last Changed time", "delta_ts" => "Last Changed time",
"estimated_time" => "Orig. Est.", "estimated_time" => "Orig. Est.",
"everconfirmed" => "Ever confirmed?", "everconfirmed" => "Ever confirmed?",
......
...@@ -25,11 +25,11 @@ ...@@ -25,11 +25,11 @@
#%] #%]
[% INCLUDE "global/help.html.tmpl" %] [% INCLUDE "global/help.html.tmpl" %]
[%# Migration note: below this point, this file corresponds to the old Param [%# Migration note: below this point, this file corresponds to the old Param
# 'footerhtml' # 'footerhtml'
#%] #%]
<table border="0"> <table border="0">
<tr> <tr>
<td bgcolor="#000000" valign="top"> <td bgcolor="#000000" valign="top">
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
bgcolor="lightyellow"> bgcolor="lightyellow">
<tr> <tr>
<td> <td>
[%# Migration note: the old param 'blurbhtml' goes here %] [%# Migration note: the old param 'blurbhtml' goes here %]
[%# Migration note: useful-links.html.tmpl corresponds to %commandmenu% %] [%# Migration note: useful-links.html.tmpl corresponds to %commandmenu% %]
...@@ -50,6 +50,5 @@ ...@@ -50,6 +50,5 @@
</td> </td>
</tr> </tr>
</table> </table>
</body> </body>
</html> </html>
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
[% DEFAULT [% DEFAULT
h2 = "" h2 = ""
h3 = "" h3 = ""
bgcolor = "#ffffff" bgcolor = "#ffffff"
onload = "" onload = ""
%] %]
...@@ -58,33 +58,33 @@ ...@@ -58,33 +58,33 @@
<html> <html>
<head> <head>
<title>[% title FILTER html %]</title> <title>[% title FILTER html %]</title>
[%# Migration note: contents of the old Param 'headerhtml' would go here %] [%# Migration note: contents of the old Param 'headerhtml' would go here %]
[% PROCESS "global/site-navigation.html.tmpl" %] [% PROCESS "global/site-navigation.html.tmpl" %]
[% IF javascript %] [% IF javascript %]
<script type="text/javascript" language="JavaScript"> <script type="text/javascript" language="JavaScript">
[% javascript %] [% javascript %]
</script> </script>
[% END %] [% END %]
[%+ INCLUDE "global/help-header.html.tmpl" %] [%+ INCLUDE "global/help-header.html.tmpl" %]
[% IF style %] [% IF style %]
<style type="text/css"> <style type="text/css">
[% style %] [% style %]
</style> </style>
[% END %] [% END %]
[% IF style_urls %] [% IF style_urls %]
[% FOREACH style_url = style_urls %] [% FOREACH style_url = style_urls %]
<link href="[% style_url %]" rel="stylesheet" type="text/css"> <link href="[% style_url %]" rel="stylesheet" type="text/css">
[% END %] [% END %]
[% END %] [% END %]
</head> </head>
[%# Migration note: contents of the old Param 'bodyhtml' go in the body tag, [%# Migration note: contents of the old Param 'bodyhtml' go in the body tag,
# but set the bgcolor and onload attributes in the DEFAULT directive above. # but set the bgcolor and onload attributes in the DEFAULT directive above.
#%] #%]
...@@ -94,9 +94,9 @@ ...@@ -94,9 +94,9 @@
[%# Migration note: the following file corresponds to the old Param [%# Migration note: the following file corresponds to the old Param
# 'bannerhtml' # 'bannerhtml'
#%] #%]
[% INCLUDE global/banner.html.tmpl %] [% INCLUDE global/banner.html.tmpl %]
[% IF h1 || h2 %] [% IF h1 || h2 %]
<table border="0" cellspacing="0" width="100%"> <table border="0" cellspacing="0" width="100%">
<tr> <tr>
......
...@@ -26,17 +26,17 @@ ...@@ -26,17 +26,17 @@
# exclude: string; a regular expression matching fields to exclude # exclude: string; a regular expression matching fields to exclude
# from the list of hidden fields generated by this template # from the list of hidden fields generated by this template
#%] #%]
[%# Generate hidden form fields for non-excluded fields. %] [%# Generate hidden form fields for non-excluded fields. %]
[% FOREACH field = form %] [% FOREACH field = form %]
[% NEXT IF exclude && field.key.search(exclude) %] [% NEXT IF exclude && field.key.search(exclude) %]
[% IF mform.${field.key}.size > 1 %] [% IF mform.${field.key}.size > 1 %]
[% FOREACH mvalue = mform.${field.key} %] [% FOREACH mvalue = mform.${field.key} %]
<input type="hidden" name="[% field.key FILTER html %]" <input type="hidden" name="[% field.key FILTER html %]"
value="[% mvalue | html | html_linebreak %]"> value="[% mvalue FILTER html FILTER html_linebreak %]">
[% END %] [% END %]
[% ELSE %] [% ELSE %]
<input type="hidden" name="[% field.key FILTER html %]" <input type="hidden" name="[% field.key FILTER html %]"
value="[% field.value | html | html_linebreak %]"> value="[% field.value FILTER html FILTER html_linebreak %]">
[% END %] [% END %]
[% END %] [% END %]
...@@ -18,13 +18,15 @@ ...@@ -18,13 +18,15 @@
# #
# Contributor(s): # Contributor(s):
#%] #%]
[%# INTERFACE: [%# INTERFACE:
# url: string. An optional URL to go to. # url: string. An optional URL to go to.
# link: string. The link text for that URL. # link: string. The link text for that URL.
#%] #%]
[% DEFAULT title = "Bugzilla Message" %] [% PROCESS global/variables.none.tmpl %]
[% DEFAULT title = "$terms.Bugzilla Message" %]
[% PROCESS global/header.html.tmpl %] [% PROCESS global/header.html.tmpl %]
......
...@@ -18,11 +18,13 @@ ...@@ -18,11 +18,13 @@
# #
# Contributor(s): Gervase Markham <gerv@gerv.net> # Contributor(s): Gervase Markham <gerv@gerv.net>
#%] #%]
[%# This is a list of all the possible messages. Please keep them in [%# This is a list of all the possible messages. Please keep them in
# alphabetical order by message tag, and leave a blank line between messages. # alphabetical order by message tag, and leave a blank line between messages.
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% message_tag = message %] [% message_tag = message %]
[% message = BLOCK %] [% message = BLOCK %]
...@@ -83,12 +85,12 @@ ...@@ -83,12 +85,12 @@
[% url = "query.cgi?GoAheadAndLogIn=1" %] [% url = "query.cgi?GoAheadAndLogIn=1" %]
[% link = "Log in again." %] [% link = "Log in again." %]
<b>Your login has been forgotten</b>. <b>Your login has been forgotten</b>.
The cookie that was remembering your login is now gone. You will be The cookie that was remembering your login is now gone. You will be
prompted for a login the next time it is required. prompted for a login the next time it is required.
[% ELSIF message_tag == "login_changed" %] [% ELSIF message_tag == "login_changed" %]
[% title = "Bugzilla Login Changed" %] [% title = "$terms.Bugzilla Login Changed" %]
Your Bugzilla login has been changed. Your [% terms.Bugzilla %] login has been changed.
[% ELSIF message_tag == "password_change_canceled" %] [% ELSIF message_tag == "password_change_canceled" %]
[% title = "Cancel Request to Change Password" %] [% title = "Cancel Request to Change Password" %]
...@@ -155,18 +157,18 @@ ...@@ -155,18 +157,18 @@
<a href="query.cgi?format=create-series">create another series</a>. <a href="query.cgi?format=create-series">create another series</a>.
[% ELSIF message_tag == "shutdown" %] [% ELSIF message_tag == "shutdown" %]
[% title = "Bugzilla is Down" %] [% title = "$terms.Bugzilla is Down" %]
[% Param("shutdownhtml") %] [% Param("shutdownhtml") %]
[% ELSE %] [% ELSE %]
[%# Give sensible error if error functions are used incorrectly. [%# Give sensible error if error functions are used incorrectly.
#%] #%]
You are using Bugzilla's messaging functions incorrectly. You You are using [% terms.Bugzilla %]'s messaging functions incorrectly. You
passed in the string '[% message_tag %]'. The correct use is to pass passed in the string '[% message_tag %]'. The correct use is to pass
in a tag, and define that tag in the file messages.html.tmpl.<br> in a tag, and define that tag in the file messages.html.tmpl.<br>
<br> <br>
If you are a Bugzilla end-user seeing this message, please save this If you are a [% terms.Bugzilla %] end-user seeing this message, please
page and send it to [% Param('maintainer') %]. save this page and send it to [% Param('maintainer') %].
[% END %] [% END %]
[% END %] [% END %]
...@@ -21,10 +21,12 @@ ...@@ -21,10 +21,12 @@
#%] #%]
[%# INTERFACE: [%# INTERFACE:
# bug_list: list of integers. List of bug numbers of current query (if any). # bug_list: list of integers. List of bug numbers of current query (if any).
# bug.bug_id: integer. Number of current bug (for navigation purposes) # bug.bug_id: integer. Number of current bug (for navigation purposes)
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% USE Bugzilla %] [% USE Bugzilla %]
[% cgi = Bugzilla.cgi %] [% cgi = Bugzilla.cgi %]
...@@ -56,14 +58,14 @@ ...@@ -56,14 +58,14 @@
<link rel="Show" title="Dependency Tree" <link rel="Show" title="Dependency Tree"
href="showdependencytree.cgi?id=[% bug.bug_id %]"> href="showdependencytree.cgi?id=[% bug.bug_id %]">
<link rel="Show" title="Dependency Graph" <link rel="Show" title="Dependency Graph"
href="showdependencygraph.cgi?id=[% bug.bug_id %]"> href="showdependencygraph.cgi?id=[% bug.bug_id %]">
[% IF use_votes %] [% IF use_votes %]
<link rel="Show" title="Votes ([% bug.votes %])" <link rel="Show" title="Votes ([% bug.votes %])"
href="votes.cgi?action=show_bug&amp;bug_id=[% bug.bug_id %]"> href="votes.cgi?action=show_bug&amp;bug_id=[% bug.bug_id %]">
[% END %] [% END %]
<link rel="Show" title="Bug Activity" <link rel="Show" title="[% terms.Bug %] Activity"
href="show_activity.cgi?id=[% bug.bug_id %]"> href="show_activity.cgi?id=[% bug.bug_id %]">
<link rel="Show" title="Printer-Friendly Version" <link rel="Show" title="Printer-Friendly Version"
href="long_list.cgi?buglist=[% bug.bug_id %]"> href="long_list.cgi?buglist=[% bug.bug_id %]">
...@@ -73,7 +75,7 @@ ...@@ -73,7 +75,7 @@
[%# *** Preset Queries *** %] [%# *** Preset Queries *** %]
[% IF user.showmybugslink %] [% IF user.showmybugslink %]
[% user_login = user.login FILTER url_quote %] [% user_login = user.login FILTER url_quote %]
<link rel="Preset&nbsp;Queries" title="My Bugs" <link rel="Preset&nbsp;Queries" title="My [% terms.Bugs %]"
href="[% Param('mybugstemplate').replace('%userid%', user_login) %]"> href="[% Param('mybugstemplate').replace('%userid%', user_login) %]">
[% END %] [% END %]
......
...@@ -22,6 +22,8 @@ ...@@ -22,6 +22,8 @@
[%# Migration note: this whole file corresponds to the old %commandmenu% [%# Migration note: this whole file corresponds to the old %commandmenu%
substitution param in 'footerhtml' %] substitution param in 'footerhtml' %]
[% PROCESS global/variables.none.tmpl %]
<form method="get" action="show_bug.cgi"> <form method="get" action="show_bug.cgi">
<table width="100%"> <table width="100%">
<tr> <tr>
...@@ -33,7 +35,7 @@ ...@@ -33,7 +35,7 @@
<a href="enter_bug.cgi">New</a> | <a href="enter_bug.cgi">New</a> |
<a href="query.cgi">Query</a> | <a href="query.cgi">Query</a> |
<input type="submit" value="Find"> bug # <input type="submit" value="Find"> [% terms.bug %] #
<input name="id" size="6"> | <input name="id" size="6"> |
<a href="report.cgi">Reports</a> <a href="report.cgi">Reports</a>
...@@ -97,7 +99,7 @@ ...@@ -97,7 +99,7 @@
<td colspan="3"> <td colspan="3">
[% IF user.showmybugslink %] [% IF user.showmybugslink %]
[% filtered_username = user.login FILTER url_quote %] [% filtered_username = user.login FILTER url_quote %]
<a href="[% Param('mybugstemplate').replace('%userid%', filtered_username) %]">My&nbsp;Bugs</a> <a href="[% Param('mybugstemplate').replace('%userid%', filtered_username) %]">My&nbsp;[% terms.Bugs %]</a>
[% print_pipe = 1 %] [% print_pipe = 1 %]
[% END %] [% END %]
...@@ -106,20 +108,20 @@ ...@@ -106,20 +108,20 @@
[% " | " IF print_pipe %] [% " | " IF print_pipe %]
<a href="buglist.cgi?cmdtype=runnamed&amp;namedcmd=[% q.name FILTER url_quote %]"><nobr>[% q.name FILTER html %]</nobr></a> <a href="buglist.cgi?cmdtype=runnamed&amp;namedcmd=[% q.name FILTER url_quote %]"><nobr>[% q.name FILTER html %]</nobr></a>
[% print_pipe = 1 %] [% print_pipe = 1 %]
[% END %] [% END %]
[% END %] [% END %]
</td> </td>
</tr> </tr>
[% ELSE %] [% ELSE %]
<td valign="middle" align="right"> <td valign="middle" align="right">
[% IF Param('createemailregexp') %] [% IF Param('createemailregexp') %]
<a href="createaccount.cgi">New&nbsp;Account</a> | <a href="createaccount.cgi">New&nbsp;Account</a> |
[% END %] [% END %]
<a href="query.cgi?GoAheadAndLogIn=1">Log&nbsp;In</a> <a href="query.cgi?GoAheadAndLogIn=1">Log&nbsp;In</a>
</td> </td>
</tr> </tr>
[% END %] [% END %]
</table> </table>
</form> </form>
...@@ -27,10 +27,12 @@ ...@@ -27,10 +27,12 @@
[%# This is a list of all the possible user errors. Please keep them in [%# This is a list of all the possible user errors. Please keep them in
# alphabetical order by error tag, and leave a blank line between errors. # alphabetical order by error tag, and leave a blank line between errors.
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% PROCESS "global/field-descs.none.tmpl" %] [% PROCESS "global/field-descs.none.tmpl" %]
[% DEFAULT title = "Error" %] [% DEFAULT title = "Error" %]
[% error_message = BLOCK %] [% error_message = BLOCK %]
...@@ -44,9 +46,9 @@ ...@@ -44,9 +46,9 @@
[% title = "Account Disabled" %] [% title = "Account Disabled" %]
[% disabled_reason %] [% disabled_reason %]
<hr> <hr>
If you believe your account should be restored, please If you believe your account should be restored, please
send email to [% Param("maintainer") %] explaining why. send email to [% Param("maintainer") %] explaining why.
[% ELSIF error == "account_exists" %] [% ELSIF error == "account_exists" %]
[% title = "Account Already Exists" %] [% title = "Account Already Exists" %]
There is already an account with There is already an account with
...@@ -55,10 +57,10 @@ ...@@ -55,10 +57,10 @@
[% ELSE %] [% ELSE %]
that login name. that login name.
[% END %] [% END %]
[% ELSIF error == "account_inexistent" %] [% ELSIF error == "account_inexistent" %]
[% title = "Account Does Not Exist" %] [% title = "Account Does Not Exist" %]
There is no Bugzilla account with that login name. There is no [% terms.Bugzilla %] account with that login name.
[% ELSIF error == "alias_has_comma_or_space" %] [% ELSIF error == "alias_has_comma_or_space" %]
[% title = "Invalid Characters In Alias" %] [% title = "Invalid Characters In Alias" %]
...@@ -67,22 +69,22 @@ ...@@ -67,22 +69,22 @@
commas or spaces because those characters are used to separate commas or spaces because those characters are used to separate
aliases from each other in lists. Please choose another alias aliases from each other in lists. Please choose another alias
that does not contain commas and spaces. that does not contain commas and spaces.
[% ELSIF error == "alias_in_use" %] [% ELSIF error == "alias_in_use" %]
[% title = "Alias In Use" %] [% title = "Alias In Use" %]
[% bug_link %] has already taken the alias [% bug_link %] has already taken the alias
<em>[% alias FILTER html %]</em>. Please choose another one. <em>[% alias FILTER html %]</em>. Please choose another one.
[% ELSIF error == "alias_is_numeric" %] [% ELSIF error == "alias_is_numeric" %]
[% title = "Alias Is Numeric" %] [% title = "Alias Is Numeric" %]
You tried to give this bug the alias <em>[% alias FILTER html %]</em>, You tried to give this [% terms.bug %] the alias <em>[% alias FILTER html %]</em>,
but aliases cannot be merely numbers, since they could but aliases cannot be merely numbers, since they could
then be confused with bug IDs. Please choose another then be confused with [% terms.bug %] IDs. Please choose another
alias containing at least one letter. alias containing at least one letter.
[% ELSIF error == "alias_too_long" %] [% ELSIF error == "alias_too_long" %]
[% title = "Alias Too Long" %] [% title = "Alias Too Long" %]
Bug aliases cannot be longer than 20 characters. [% terms.Bug %] aliases cannot be longer than 20 characters.
Please choose a shorter alias. Please choose a shorter alias.
[% ELSIF error == "auth_cant_create_account" %] [% ELSIF error == "auth_cant_create_account" %]
...@@ -98,34 +100,35 @@ ...@@ -98,34 +100,35 @@
[% ELSIF error == "attachment_access_denied" %] [% ELSIF error == "attachment_access_denied" %]
[% title = "Access Denied" %] [% title = "Access Denied" %]
You are not authorized to access this attachment. You are not authorized to access this attachment.
[% ELSIF error == "bug_access_denied" %] [% ELSIF error == "bug_access_denied" %]
[% title = "Access Denied" %] [% title = "Access Denied" %]
You are not authorized to access bug #[% bug_id %]. You are not authorized to access [% terms.bug %] #[% bug_id %].
[% ELSIF error == "bug_access_query" %] [% ELSIF error == "bug_access_query" %]
[% title = "Access Denied" %] [% title = "Access Denied" %]
You are not authorized to access bug #[% bug_id %]. To see this bug, you You are not authorized to access [% terms.bug %] #[% bug_id %]. To see
must first <a href="show_bug.cgi?id=[% bug_id %]&amp;GoAheadAndLogIn=1">log this [% terms.bug %], you must
first <a href="show_bug.cgi?id=[% bug_id %]&amp;GoAheadAndLogIn=1">log
in to an account</a> with the appropriate permissions. in to an account</a> with the appropriate permissions.
[% ELSIF error == "buglist_parameters_required" %] [% ELSIF error == "buglist_parameters_required" %]
[% title = "Parameters Required" %] [% title = "Parameters Required" %]
[% url = "query.cgi" %] [% url = "query.cgi" %]
[% link = "Please use the search form to specify some search criteria." %] [% link = "Please use the search form to specify some search criteria." %]
This script is not meant to be invoked without any search terms. This script is not meant to be invoked without any search terms.
[% ELSIF error == "bugs_not_changed" %] [% ELSIF error == "bugs_not_changed" %]
[% title = "Bugs Not Changed" %] [% title = BLOCK %][% terms.Bugs %] Not Changed[% END %]
Um, you apparently did not change anything on the selected bugs. Um, you apparently did not change anything on the selected [% terms.bugs %].
[% ELSIF error == "chart_too_large" %] [% ELSIF error == "chart_too_large" %]
[% title = "Chart Too Large" %] [% title = "Chart Too Large" %]
Sorry, but 2000 x 2000 is the maximum size for a chart. Sorry, but 2000 x 2000 is the maximum size for a chart.
[% ELSIF error == "comment_required" %] [% ELSIF error == "comment_required" %]
[% title = "Comment Required" %] [% title = "Comment Required" %]
You have to specify a <b>comment</b> on this change. You have to specify a <b>comment</b> on this change.
Please give some words on the reason for your change. Please give some words on the reason for your change.
[% ELSIF error == "comment_too_long" %] [% ELSIF error == "comment_too_long" %]
...@@ -134,43 +137,43 @@ ...@@ -134,43 +137,43 @@
[% ELSIF error == "dependency_loop_multi" %] [% ELSIF error == "dependency_loop_multi" %]
[% title = "Dependency Loop Detected" %] [% title = "Dependency Loop Detected" %]
The following bug(s) would appear on both the "depends on" The following [% terms.bug %](s) would appear on both the "depends on"
and "blocks" parts of the dependency tree if these changes and "blocks" parts of the dependency tree if these changes
are committed: [% both %]. This would create a circular are committed: [% both %]. This would create a circular
dependency, which is not allowed. dependency, which is not allowed.
[% ELSIF error == "dependency_loop_single" %] [% ELSIF error == "dependency_loop_single" %]
[% title = "Dependency Loop Detected" %] [% title = "Dependency Loop Detected" %]
You can't make a bug blocked or dependent on itself. You can't make [% terms.abug %] blocked or dependent on itself.
[% ELSIF error == "dupe_invalid_bug_id" %] [% ELSIF error == "dupe_invalid_bug_id" %]
[% title = "Valid Bug Number Required" %] [% title = BLOCK %]Valid [% terms.Bug %] Number Required[% END %]
You must specify a valid bug number of which this bug You must specify a valid bug number of which this [% terms.bug %]
is a duplicate. The bug has not been changed. is a duplicate. The [% terms.bug %] has not been changed.
[% ELSIF error == "dupe_of_self_disallowed" %] [% ELSIF error == "dupe_of_self_disallowed" %]
[% title = "Nice Try..." %] [% title = "Nice Try..." %]
Nice try, [% user.login FILTER html %], but it doesn't Nice try, [% user.login FILTER html %], but it doesn't
really make sense to mark a bug as a duplicate of itself, really make sense to mark [% terms.abug %] as a duplicate of itself,
does it? does it?
[% ELSIF error == "email_change_in_progress" %] [% ELSIF error == "email_change_in_progress" %]
[% title = "Email Change Already In Progress" %] [% title = "Email Change Already In Progress" %]
Email change already in progress; please check your email. Email change already in progress; please check your email.
[% ELSIF error == "email_confirmation_failed" %] [% ELSIF error == "email_confirmation_failed" %]
[% title = "Email Address Confirmation Failed" %] [% title = "Email Address Confirmation Failed" %]
Email address confirmation failed. Email address confirmation failed.
[% ELSIF error == "entry_access_denied" %] [% ELSIF error == "entry_access_denied" %]
[% title = "Permission Denied" %] [% title = "Permission Denied" %]
Sorry; you do not have the permissions necessary to enter a bug against Sorry; you do not have the permissions necessary to enter [% terms.abug %] against
the [% product FILTER html %] product. the [% product FILTER html %] product.
[% ELSIF error == "file_not_specified" %] [% ELSIF error == "file_not_specified" %]
[% title = "No File Specified" %] [% title = "No File Specified" %]
You did not specify a file to attach. You did not specify a file to attach.
[% ELSIF error == "file_too_large" %] [% ELSIF error == "file_too_large" %]
[% title = "File Too Large" %] [% title = "File Too Large" %]
The file you are trying to attach is [% filesize %] kilobytes (KB) in size. The file you are trying to attach is [% filesize %] kilobytes (KB) in size.
...@@ -178,37 +181,37 @@ ...@@ -178,37 +181,37 @@
KB. KB.
If your attachment is an image, try converting it to a compressable If your attachment is an image, try converting it to a compressable
format like JPG or PNG, or put it elsewhere on the web and format like JPG or PNG, or put it elsewhere on the web and
link to it from the bug's URL field or in a comment on the bug. link to it from the [% terms.bug %]'s URL field or in a comment on the [% terms.bug %].
[% ELSIF error == "flag_requestee_unauthorized" %] [% ELSIF error == "flag_requestee_unauthorized" %]
[% title = "Flag Requestee Not Authorized" %] [% title = "Flag Requestee Not Authorized" %]
You asked [% requestee.identity FILTER html %] You asked [% requestee.identity FILTER html %]
for <code>[% flag_type.name FILTER html %]</code> on bug [% bug_id -%] for <code>[% flag_type.name FILTER html %]</code> on [% terms.bug %] [% bug_id -%]
[% IF attach_id %], attachment [% attach_id %][% END %], but that bug [% IF attach_id %], attachment [% attach_id %][% END %], but that [% terms.bug %]&bnsp;
has been restricted to users in certain groups, and the user you asked has been restricted to users in certain groups, and the user you asked
isn't in all the groups to which the bug has been restricted. isn't in all the groups to which the [% terms.bug %] has been restricted.
Please choose someone else to ask, or make the bug accessible to users Please choose someone else to ask, or make the [% terms.bug %] accessible to users
on its CC: list and add that user to the list. on its CC: list and add that user to the list.
[% ELSIF error == "flag_requestee_unauthorized_attachment" %] [% ELSIF error == "flag_requestee_unauthorized_attachment" %]
[% title = "Flag Requestee Not Authorized" %] [% title = "Flag Requestee Not Authorized" %]
You asked [% requestee.identity FILTER html %] You asked [% requestee.identity FILTER html %]
for <code>[% flag_type.name FILTER html %]</code> on bug [% bug_id %], for <code>[% flag_type.name FILTER html %]</code> on [% terms.bug %]&nbsp;[% bug_id %],
attachment [% attach_id %], but that attachment is restricted to users attachment [% attach_id %], but that attachment is restricted to users
in the [% Param("insidergroup") FILTER html %] group, and the user in the [% Param("insidergroup") FILTER html %] group, and the user
you asked isn't in that group. Please choose someone else to ask, you asked isn't in that group. Please choose someone else to ask,
or ask an administrator to add the user to the group. or ask an administrator to add the user to the group.
[% ELSIF error == "flag_type_cc_list_invalid" %] [% ELSIF error == "flag_type_cc_list_invalid" %]
[% title = "Flag Type CC List Invalid" %] [% title = "Flag Type CC List Invalid" %]
The CC list [% cc_list FILTER html %] must be less than 200 characters long. The CC list [% cc_list FILTER html %] must be less than 200 characters long.
[% ELSIF error == "flag_type_description_invalid" %] [% ELSIF error == "flag_type_description_invalid" %]
[% title = "Flag Type Description Invalid" %] [% title = "Flag Type Description Invalid" %]
The description must be less than 32K. The description must be less than 32K.
[% ELSIF error == "flag_type_name_invalid" %] [% ELSIF error == "flag_type_name_invalid" %]
[% title = "Flag Type Name Invalid" %] [% title = "Flag Type Name Invalid" %]
The name <em>[% name FILTER html %]</em> must be 1-50 characters long. The name <em>[% name FILTER html %]</em> must be 1-50 characters long.
...@@ -234,7 +237,7 @@ ...@@ -234,7 +237,7 @@
[% ELSIF error == "illegal_attachment_edit_bug" %] [% ELSIF error == "illegal_attachment_edit_bug" %]
[% title = "Unauthorised Action" %] [% title = "Unauthorised Action" %]
You are not authorised to edit attachments on bug [% bug_id %]. You are not authorised to edit attachments on [% terms.bug %] [%+ bug_id %].
[% ELSIF error == "illegal_attachment_is_patch" %] [% ELSIF error == "illegal_attachment_is_patch" %]
[% title = "Your Query Makes No Sense" %] [% title = "Your Query Makes No Sense" %]
...@@ -246,7 +249,7 @@ ...@@ -246,7 +249,7 @@
You tried to change the <strong>[% field %]</strong> field You tried to change the <strong>[% field %]</strong> field
from <em>[% oldvalue FILTER html %]</em> to from <em>[% oldvalue FILTER html %]</em> to
<em>[% newvalue FILTER html %]</em>, <em>[% newvalue FILTER html %]</em>,
but only the owner or submitter of the bug, or a but only the owner or submitter of the [% terms.bug %], or a
sufficiently empowered user, may change that field. sufficiently empowered user, may change that field.
[% ELSIF error == "illegal_changed_in_last_x_days" %] [% ELSIF error == "illegal_changed_in_last_x_days" %]
...@@ -304,25 +307,27 @@ ...@@ -304,25 +307,27 @@
[% ELSIF error == "insufficient_privs_for_multi" %] [% ELSIF error == "insufficient_privs_for_multi" %]
[% title = "Insufficient Privileges" %] [% title = "Insufficient Privileges" %]
Sorry, you do not have sufficient privileges to edit multiple bugs. Sorry, you do not have sufficient privileges to edit multiple
[% terms.bugs %].
[% ELSIF error == "invalid_attach_id" %] [% ELSIF error == "invalid_attach_id" %]
[% title = "Invalid Attachment ID" %] [% title = "Invalid Attachment ID" %]
The attachment id [% attach_id FILTER html %] is invalid. The attachment id [% attach_id FILTER html %] is invalid.
[% ELSIF error == "invalid_bug_id" %] [% ELSIF error == "invalid_bug_id" %]
[% title = "Invalid Bug ID" %] [% title = BLOCK %]Invalid [% terms.Bug %] ID[% END %]
The bug id [% bug_id FILTER html %] is invalid. The [% terms.bug %] id [% bug_id FILTER html %] is invalid.
[% ELSIF error == "invalid_bug_id_non_existent" %] [% ELSIF error == "invalid_bug_id_non_existent" %]
[% title = "Invalid Bug ID" %] [% title = BLOCK %]Invalid [% terms.Bug %] ID[% END %]
Bug #[% bug_id %] does not exist. [% terms.Bug %] #[% bug_id %] does not exist.
[% ELSIF error == "invalid_bug_id_or_alias" %] [% ELSIF error == "invalid_bug_id_or_alias" %]
[% title = "Invalid Bug ID" %] [% title = BLOCK %]Invalid [% terms.Bug %] ID[% END %]
The 'bug number' <em>[% bug_id FILTER html %]</em> is invalid. The '[% terms.bug %] number' <em>[% bug_id FILTER html %]</em> is invalid.
[% IF Param("usebugaliases") %] [% IF Param("usebugaliases") %]
It is neither a bug number nor an alias to a bug number. It is neither [% terms.abug %] number nor an alias to [% terms.abug %]
number.
[% END %] [% END %]
If you are trying to use QuickSearch, you need to enable JavaScript If you are trying to use QuickSearch, you need to enable JavaScript
in your browser. To help us fix this limitation, add your comments to in your browser. To help us fix this limitation, add your comments to
...@@ -336,10 +341,10 @@ ...@@ -336,10 +341,10 @@
[% ELSIF error == "invalid_content_type" %] [% ELSIF error == "invalid_content_type" %]
[% title = "Invalid Content-Type" %] [% title = "Invalid Content-Type" %]
The content type <em>[% contenttype FILTER html %]</em> is invalid. The content type <em>[% contenttype FILTER html %]</em> is invalid.
Valid types must be of the form <em>foo/bar</em> where <em>foo</em> Valid types must be of the form <em>foo/bar</em> where <em>foo</em>
is either <em>application, audio, image, message, model, multipart, is either <em>application, audio, image, message, model, multipart,
text,</em> or <em>video</em>. text,</em> or <em>video</em>.
[% ELSIF error == "invalid_maxrow" %] [% ELSIF error == "invalid_maxrow" %]
[% title = "Invalid Max Rows" %] [% title = "Invalid Max Rows" %]
The maximum number of rows, '[% maxrows FILTER html %]', must be a positive The maximum number of rows, '[% maxrows FILTER html %]', must be a positive
...@@ -353,7 +358,7 @@ ...@@ -353,7 +358,7 @@
[% title = "Invalid Username" %] [% title = "Invalid Username" %]
The name <tt>[% name FILTER html %]</tt> is not a valid username. The name <tt>[% name FILTER html %]</tt> is not a valid username.
Either you misspelled it, or the person has not Either you misspelled it, or the person has not
registered for a Bugzilla account. registered for a [% terms.Bugzilla %] account.
[% ELSIF error == "invalid_username_or_password" %] [% ELSIF error == "invalid_username_or_password" %]
[% title = "Invalid Username Or Password" %] [% title = "Invalid Username Or Password" %]
...@@ -365,9 +370,9 @@ ...@@ -365,9 +370,9 @@
[% ELSIF error == "milestone_required" %] [% ELSIF error == "milestone_required" %]
[% title = "Milestone Required" %] [% title = "Milestone Required" %]
You must determine a target milestone for bug [% bug_id %] You must determine a target milestone for [% terms.bug %] [%+ bug_id %]
if you are going to accept it. Part of accepting if you are going to accept it. Part of accepting
a bug is giving an estimate of when it will be fixed. [% terms.abug %] is giving an estimate of when it will be fixed.
[% ELSIF error == "misarranged_dates" %] [% ELSIF error == "misarranged_dates" %]
[% title = "Misarranged Dates" %] [% title = "Misarranged Dates" %]
...@@ -384,7 +389,7 @@ ...@@ -384,7 +389,7 @@
[% ELSIF error == "missing_content_type" %] [% ELSIF error == "missing_content_type" %]
[% title = "Missing Content-Type" %] [% title = "Missing Content-Type" %]
You asked Bugzilla to auto-detect the content type, but You asked [% terms.Bugzilla %] to auto-detect the content type, but
your browser did not specify a content type when uploading the file, your browser did not specify a content type when uploading the file,
so you must enter a content type manually. so you must enter a content type manually.
...@@ -428,7 +433,8 @@ ...@@ -428,7 +433,8 @@
[% ELSIF error == "need_component" %] [% ELSIF error == "need_component" %]
[% title = "Component Required" %] [% title = "Component Required" %]
You must specify a component to help determine the new owner of these bugs. You must specify a component to help determine the new owner of these
[% terms.bugs %].
[% ELSIF error == "need_numeric_value" %] [% ELSIF error == "need_numeric_value" %]
[% title = "Numeric Value Required" %] [% title = "Numeric Value Required" %]
...@@ -440,8 +446,8 @@ ...@@ -440,8 +446,8 @@
[% ELSIF error == "need_product" %] [% ELSIF error == "need_product" %]
[% title = "Product Required" %] [% title = "Product Required" %]
You must specify a product to help determine the new owner of these bugs. You must specify a product to help determine the new owner of these [% terms.bugs %].
[% ELSIF error == "need_quip" %] [% ELSIF error == "need_quip" %]
[% title = "Quip Required" %] [% title = "Quip Required" %]
Please enter a quip in the text field. Please enter a quip in the text field.
...@@ -449,35 +455,35 @@ ...@@ -449,35 +455,35 @@
[% ELSIF error == "new_password_missing" %] [% ELSIF error == "new_password_missing" %]
[% title = "New Password Missing" %] [% title = "New Password Missing" %]
You must enter a new password. You must enter a new password.
[% ELSIF error == "no_axes_defined" %] [% ELSIF error == "no_axes_defined" %]
[% title = "No Axes Defined" %] [% title = "No Axes Defined" %]
You didn't define any axes to plot. You didn't define any axes to plot.
[% ELSIF error == "no_bugs_chosen" %] [% ELSIF error == "no_bugs_chosen" %]
[% title = "No Bugs Chosen" %] [% title = BLOCK %]No [% terms.Bugs %] Chosen[% END %]
You apparently didn't choose any bugs to modify. You apparently didn't choose any [% terms.bugs %] to modify.
[% ELSIF error == "no_component_change_for_multiple_products" %] [% ELSIF error == "no_component_change_for_multiple_products" %]
[% title = "Action Not Permitted" %] [% title = "Action Not Permitted" %]
You cannot change the component for a list of bugs covering more than You cannot change the component for a list of [% terms.bugs %] covering more than
one product. one product.
[% ELSIF error == "no_components" %] [% ELSIF error == "no_components" %]
[% title = "No Components" %] [% title = "No Components" %]
Sorry; there needs to be at least one component for this product in order Sorry; there needs to be at least one component for this product in order
to create a new bug. to create a new [% terms.bug %].
[% IF UserInGroup("editcomponents") %] [% IF UserInGroup("editcomponents") %]
<a href="editcomponents.cgi">Create a new component</a>. <a href="editcomponents.cgi">Create a new component</a>.
[% ELSE %] [% ELSE %]
Please contact [% Param("maintainer") %], giving the name of Please contact [% Param("maintainer") %], giving the name of
the product in which you tried to create a new bug. the product in which you tried to create a new [% terms.bug %].
[% END %] [% END %]
[% ELSIF error == "no_dupe_stats" %] [% ELSIF error == "no_dupe_stats" %]
[% title = "Cannot Find Duplicate Statistics" %] [% title = "Cannot Find Duplicate Statistics" %]
There are no duplicate statistics for today ([% today %]) or yesterday. There are no duplicate statistics for today ([% today %]) or yesterday.
[% ELSIF error == "no_dupe_stats_error_today" %] [% ELSIF error == "no_dupe_stats_error_today" %]
[% title = "Error Reading Today's Dupes File" %] [% title = "Error Reading Today's Dupes File" %]
An error occurred opening today's dupes file: [% error_msg FILTER html %]. An error occurred opening today's dupes file: [% error_msg FILTER html %].
...@@ -487,66 +493,66 @@ ...@@ -487,66 +493,66 @@
An error occurred opening [% changedsince FILTER html %] days ago An error occurred opening [% changedsince FILTER html %] days ago
([% whenever FILTER html %])'s dupes file: ([% whenever FILTER html %])'s dupes file:
[% error_msg FILTER html %]. [% error_msg FILTER html %].
[% ELSIF error == "no_dupe_stats_error_yesterday" %] [% ELSIF error == "no_dupe_stats_error_yesterday" %]
[% title = "Error Reading Yesterday's Dupes File" %] [% title = "Error Reading Yesterday's Dupes File" %]
There are no duplicate statistics for today ([% today %]), and an error There are no duplicate statistics for today ([% today %]), and an error
occurred opening yesterday's dupes file: [% error_msg FILTER html %]. occurred opening yesterday's dupes file: [% error_msg FILTER html %].
[% ELSIF error == "no_html_in_quips" %] [% ELSIF error == "no_html_in_quips" %]
[% title = "No HTML In Quips" %] [% title = "No HTML In Quips" %]
Sorry - for security reasons, support for HTML tags has been turned off Sorry - for security reasons, support for HTML tags has been turned off
in quips. in quips.
[% ELSIF error == "no_new_quips" %] [% ELSIF error == "no_new_quips" %]
[% title = "No New Quips" %] [% title = "No New Quips" %]
This site does not permit the addition of new quips. This site does not permit the addition of new quips.
[% ELSIF error == "no_page_specified" %] [% ELSIF error == "no_page_specified" %]
[% title = "No Page Specified" %] [% title = "No Page Specified" %]
You did not specify the id of a page to display. You did not specify the id of a page to display.
[% ELSIF error == "no_products" %] [% ELSIF error == "no_products" %]
[% title = "No Products" %] [% title = "No Products" %]
Either no products have been defined to enter bugs against or you have not Either no products have been defined to enter [% terms.bugs %] against or you have not
been given access to any. been given access to any.
[% ELSIF error == "old_password_incorrect" %] [% ELSIF error == "old_password_incorrect" %]
[% title = "Incorrect Old Password" %] [% title = "Incorrect Old Password" %]
You did not enter your old password correctly. You did not enter your old password correctly.
[% ELSIF error == "old_password_required" %] [% ELSIF error == "old_password_required" %]
[% title = "Old Password Required" %] [% title = "Old Password Required" %]
You must enter your old password to change email address. You must enter your old password to change email address.
[% ELSIF error == "passwords_dont_match" %] [% ELSIF error == "passwords_dont_match" %]
[% title = "Passwords Don't Match" %] [% title = "Passwords Don't Match" %]
The two passwords you entered did not match. The two passwords you entered did not match.
[% ELSIF error == "password_too_long" %] [% ELSIF error == "password_too_long" %]
[% title = "Password Too Long" %] [% title = "Password Too Long" %]
The password is more than 16 characters long. It must be no more than The password is more than 16 characters long. It must be no more than
16 characters. 16 characters.
[% ELSIF error == "password_too_short" %] [% ELSIF error == "password_too_short" %]
[% title = "Password Too Short" %] [% title = "Password Too Short" %]
The password is less than three characters long. It must be at least The password is less than three characters long. It must be at least
three characters. three characters.
[% ELSIF error == "patch_too_large" %] [% ELSIF error == "patch_too_large" %]
[% title = "File Too Large" %] [% title = "File Too Large" %]
The file you are trying to attach is [% filesize %] kilobytes (KB) in size. The file you are trying to attach is [% filesize %] kilobytes (KB) in size.
Patches cannot be more than [% Param('maxpatchsize') %] KB in size. Patches cannot be more than [% Param('maxpatchsize') %] KB in size.
Try breaking your patch into several pieces. Try breaking your patch into several pieces.
[% ELSIF error == "product_access_denied" %] [% ELSIF error == "product_access_denied" %]
[% title = "Access Denied" %] [% title = "Access Denied" %]
You do not have the permissions necessary to access that product. You do not have the permissions necessary to access that product.
[% ELSIF error == "product_edit_denied" %] [% ELSIF error == "product_edit_denied" %]
[% title = "Product Edit Access Denied" %] [% title = "Product Edit Access Denied" %]
You are not permitted to edit bugs in product [% product %]. You are not permitted to edit [% terms.bugs %] in product [% product %].
[% ELSIF error == "query_name_missing" %] [% ELSIF error == "query_name_missing" %]
[% title = "No Query Name Specified" %] [% title = "No Query Name Specified" %]
You must enter a name for your query. You must enter a name for your query.
...@@ -561,8 +567,8 @@ ...@@ -561,8 +567,8 @@
[% ELSIF error == "reassign_to_empty" %] [% ELSIF error == "reassign_to_empty" %]
[% title = "Illegal Reassignment" %] [% title = "Illegal Reassignment" %]
You cannot reassign to a bug to nobody. Unless you You cannot reassign to [% terms.abug %] to nobody. Unless you
intentionally cleared out the "Reassign bug to" intentionally cleared out the "Reassign [% terms.bug %] to"
field, [% Param("browserbugmessage") %] field, [% Param("browserbugmessage") %]
[% ELSIF error == "report_access_denied" %] [% ELSIF error == "report_access_denied" %]
...@@ -571,42 +577,42 @@ ...@@ -571,42 +577,42 @@
[% ELSIF error == "require_component" %] [% ELSIF error == "require_component" %]
[% title = "Component Needed" %] [% title = "Component Needed" %]
You must choose a component to file this bug in. If necessary, You must choose a component to file this [% terms.bug %] in. If necessary,
just guess. just guess.
[% ELSIF error == "require_new_password" %] [% ELSIF error == "require_new_password" %]
[% title = "New Password Needed" %] [% title = "New Password Needed" %]
You cannot change your password without submitting a new one. You cannot change your password without submitting a new one.
[% ELSIF error == "require_summary" %] [% ELSIF error == "require_summary" %]
[% title = "Summary Needed" %] [% title = "Summary Needed" %]
You must enter a summary for this bug. You must enter a summary for this [% terms.bug %].
[% ELSIF error == "resolving_remaining_time" %] [% ELSIF error == "resolving_remaining_time" %]
[% title = "Trying to Resolve with Hours Remaining" %] [% title = "Trying to Resolve with Hours Remaining" %]
You cannot resolve a bug with hours still remaining. Set You cannot resolve [% terms.abug %] with hours still remaining. Set
Remaining Hours to zero if you want to resolve the bug. Remaining Hours to zero if you want to resolve the [% terms.bug %].
[% ELSIF error == "sanity_check_access_denied" %] [% ELSIF error == "sanity_check_access_denied" %]
[% title = "Access Denied" %] [% title = "Access Denied" %]
You do not have the permissions necessary to run a sanity check. You do not have the permissions necessary to run a sanity check.
[% ELSIF error == "sidebar_supports_mozilla_only" %] [% ELSIF error == "sidebar_supports_mozilla_only" %]
Sorry - sidebar.cgi currently only supports Mozilla based web browsers. Sorry - sidebar.cgi currently only supports Mozilla based web browsers.
<a href="http://www.mozilla.org">Upgrade today</a>. :-) <a href="http://www.mozilla.org">Upgrade today</a>. :-)
[% ELSIF error == "too_many_votes_for_bug" %] [% ELSIF error == "too_many_votes_for_bug" %]
[% title = "Illegal Vote" %] [% title = "Illegal Vote" %]
You may only use at most [% max %] votes for a single bug in the You may only use at most [% max %] votes for a single [% terms.bug %] in the
<tt>[% prod FILTER html %]</tt> product, but you are trying to use <tt>[% prod FILTER html %]</tt> product, but you are trying to use
[% votes %]. [% votes %].
[% ELSIF error == "too_many_votes_for_product" %] [% ELSIF error == "too_many_votes_for_product" %]
[% title = "Illegal Vote" %] [% title = "Illegal Vote" %]
You may only use at most [% max %] votes for bugs in the You may only use at most [% max %] votes for [% terms.bugs %] in the
<tt>[% prod FILTER html %]</tt> product, but you are trying to use <tt>[% prod FILTER html %]</tt> product, but you are trying to use
[% votes %]. [% votes %].
[% ELSIF error == "token_inexistent" %] [% ELSIF error == "token_inexistent" %]
[% title = "Token Does Not Exist" %] [% title = "Token Does Not Exist" %]
The token you submitted does not exist, has expired, or has The token you submitted does not exist, has expired, or has
...@@ -614,17 +620,17 @@ ...@@ -614,17 +620,17 @@
[% ELSIF error == "unknown_keyword" %] [% ELSIF error == "unknown_keyword" %]
[% title = "Unknown Keyword" %] [% title = "Unknown Keyword" %]
<code>[% keyword FILTER html %]</code> is not a known keyword. <code>[% keyword FILTER html %]</code> is not a known keyword.
The legal keyword names are <a href="describekeywords.cgi">listed here</a>. The legal keyword names are <a href="describekeywords.cgi">listed here</a>.
[% ELSIF error == "unknown_tab" %] [% ELSIF error == "unknown_tab" %]
[% title = "Unknown Tab" %] [% title = "Unknown Tab" %]
<code>[% current_tab_name FILTER html %]</code> is not a legal tab name. <code>[% current_tab_name FILTER html %]</code> is not a legal tab name.
[% ELSIF error == "votes_must_be_nonnegative" %] [% ELSIF error == "votes_must_be_nonnegative" %]
[% title = "Votes Must Be Non-negative" %] [% title = "Votes Must Be Non-negative" %]
Only use non-negative numbers for your bug votes. Only use non-negative numbers for your [% terms.bug %] votes.
[% ELSIF error == "wrong_token_for_cancelling_email_change" %] [% ELSIF error == "wrong_token_for_cancelling_email_change" %]
[% title = "Wrong Token" %] [% title = "Wrong Token" %]
That token cannot be used to cancel an email address change. That token cannot be used to cancel an email address change.
...@@ -644,7 +650,7 @@ ...@@ -644,7 +650,7 @@
[% ELSIF error == "zero_length_file" %] [% ELSIF error == "zero_length_file" %]
[% title = "File Is Empty" %] [% title = "File Is Empty" %]
The file you are trying to attach is empty! The file you are trying to attach is empty!
[% ELSE %] [% ELSE %]
[% title = "Error string not found" %] [% title = "Error string not found" %]
The user error string <code>[% error FILTER html %]</code> was not found. The user error string <code>[% error FILTER html %]</code> was not found.
......
[%# 1.0@bugzilla.org %]
[%# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#%]
[%# This is a list of terms that may be changed to "brand" the Bugzilla
# instance (for example, referring to "bugs" as "issues".) When used, these
# strings are used in several different types of content, and are not
# protected with Template-Toolkit FILTERs. Consequently, no special
# characters are allowed.
#
# Remember to PROCESS rather than INCLUDE this template.
#%]
[% terms = {
"bug" => "bug",
"Bug" => "Bug",
"abug" = "a bug",
"Abug" = "A bug",
"ABug" = "A Bug",
"bugs" = "bugs",
"Bugs" = "Bugs",
"zeroSearchResults" = "Zarro Boogs found",
"bit" = "bit",
"bits" = "bits",
"Bugzilla" = "Bugzilla"
}
%]
...@@ -25,9 +25,13 @@ ...@@ -25,9 +25,13 @@
# username: string. The login name of the user, if any. # username: string. The login name of the user, if any.
#%] #%]
[% PROCESS global/header.html.tmpl [% PROCESS global/variables.none.tmpl %]
title = 'Bugzilla Main Page'
%] [% title = BLOCK %]
[% terms.Bugzilla %] Main Page
[% END %]
[% PROCESS global/header.html.tmpl %]
<script type="text/javascript" language="JavaScript"> <script type="text/javascript" language="JavaScript">
<!-- <!--
...@@ -36,7 +40,7 @@ function addSidebar() { ...@@ -36,7 +40,7 @@ function addSidebar() {
{ {
var sidebarname=window.location.host; var sidebarname=window.location.host;
if (!/bug/i.test(sidebarname)) if (!/bug/i.test(sidebarname))
sidebarname="Bugzilla "+sidebarname; sidebarname="[% terms.Bugzilla %] "+sidebarname;
window.sidebar.addPanel (sidebarname, "[% Param('urlbase') %]sidebar.cgi", ""); window.sidebar.addPanel (sidebarname, "[% Param('urlbase') %]sidebar.cgi", "");
} }
else else
...@@ -52,12 +56,12 @@ function addSidebar() { ...@@ -52,12 +56,12 @@ function addSidebar() {
<table width="100%"><tr> <table width="100%"><tr>
<td> <td>
<p>This is where we put in lots of nifty words explaining all about Bugzilla.</p> <p>This is where we put in lots of nifty words explaining all about [% terms.Bugzilla %].</p>
But it all boils down to a choice of: But it all boils down to a choice of:
<p> <p>
<a href="query.cgi">Query existing bug reports</a><br> <a href="query.cgi">Query existing [% terms.bug %] reports</a><br>
<a href="enter_bug.cgi">Enter a new bug report</a><br> <a href="enter_bug.cgi">Enter a new [% terms.bug %] report</a><br>
<a href="report.cgi">Summary reports and charts</a><br> <a href="report.cgi">Summary reports and charts</a><br>
</p><p> </p><p>
[% IF username %] [% IF username %]
...@@ -66,16 +70,16 @@ function addSidebar() { ...@@ -66,16 +70,16 @@ function addSidebar() {
[% ELSE %] [% ELSE %]
<a href="query.cgi?GoAheadAndLogIn=1">Log in to an existing account</a><br> <a href="query.cgi?GoAheadAndLogIn=1">Log in to an existing account</a><br>
[% IF Param('createemailregexp') %] [% IF Param('createemailregexp') %]
<a href="createaccount.cgi">Open a new Bugzilla account</a><br> <a href="createaccount.cgi">Open a new [% terms.Bugzilla %] account</a><br>
[% END %] [% END %]
[% END %] [% END %]
</p><p> </p><p>
<a href="javascript:addSidebar()">Add to Sidebar</a> (Requires Mozilla or Netscape 6)<br> <a href="javascript:addSidebar()">Add to Sidebar</a> (Requires Mozilla or Netscape 6)<br>
</p> </p>
<form name="f" action="show_bug.cgi" method="get" <form name="f" action="show_bug.cgi" method="get"
onsubmit="QuickSearch(f.id.value); return false;"> onsubmit="QuickSearch(f.id.value); return false;">
<p> <p>
Enter a bug # or some search terms:<br> Enter a [% terms.bug %] # or some search terms:<br>
<input type="text" name="id"> <input type="text" name="id">
<input type="submit" value="Show"> <input type="submit" value="Show">
<a href="quicksearch.html">[Help]</a> <a href="quicksearch.html">[Help]</a>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# License Version 1.1 (the "License"); you may not use this file # License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of # except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/ # the License at http://www.mozilla.org/MPL/
# #
# Software distributed under the License is distributed on an "AS # Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing # implied. See the License for the specific language governing
...@@ -19,12 +19,14 @@ ...@@ -19,12 +19,14 @@
# Contributor(s): Dave Lawrence <dkl@redhat.com> # Contributor(s): Dave Lawrence <dkl@redhat.com>
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% PROCESS global/header.html.tmpl [% PROCESS global/header.html.tmpl
title = "Change Columns" title = "Change Columns"
%] %]
<p> <p>
Select the columns you wish to appear in your buglists. Note that Select the columns you wish to appear in your [% terms.bug %] lists. Note that
this feature requires cookies to work. this feature requires cookies to work.
</p> </p>
...@@ -38,27 +40,27 @@ ...@@ -38,27 +40,27 @@
<form action="colchange.cgi"> <form action="colchange.cgi">
<input type="hidden" name="rememberedquery" value="[% buffer FILTER html %]"> <input type="hidden" name="rememberedquery" value="[% buffer FILTER html %]">
[% FOREACH column = masterlist %] [% FOREACH column = masterlist %]
<input type="checkbox" id="[% column %]" name="column_[% column %]" <input type="checkbox" id="[% column %]" name="column_[% column %]"
[% "checked='checked'" IF lsearch(collist, column) != -1 %]> [% "checked='checked'" IF lsearch(collist, column) != -1 %]>
<label for="[% column %]">[% field_descs.${column} || column %]</label> <label for="[% column %]">[% field_descs.${column} || column %]</label>
<br> <br>
[% END %] [% END %]
<p> <p>
<input id="nosplitheader" type="radio" name="splitheader" value="0" <input id="nosplitheader" type="radio" name="splitheader" value="0"
[% "checked='checked'" IF NOT splitheader %]> [% "checked='checked'" IF NOT splitheader %]>
<label for="nosplitheader"> <label for="nosplitheader">
Normal headers (prettier) Normal headers (prettier)
</label> </label>
<br> <br>
<input id="splitheader" type="radio" name="splitheader" value="1" <input id="splitheader" type="radio" name="splitheader" value="1"
[% "checked='checked'" IF splitheader %]> [% "checked='checked'" IF splitheader %]>
<label for="splitheader"> <label for="splitheader">
Stagger headers (often makes list more compact) Stagger headers (often makes list more compact)
</label> </label>
</p> </p>
<p> <p>
<input type="submit" value="Change Columns"> <input type="submit" value="Change Columns">
</p> </p>
...@@ -67,7 +69,7 @@ ...@@ -67,7 +69,7 @@
<form action="colchange.cgi"> <form action="colchange.cgi">
<input type="hidden" name="rememberedquery" value="[% buffer FILTER html %]"> <input type="hidden" name="rememberedquery" value="[% buffer FILTER html %]">
<input type="hidden" name="resetit" value="1"> <input type="hidden" name="resetit" value="1">
<input type="submit" value="Reset to Bugzilla default"> <input type="submit" value="Reset to [% terms.Bugzilla %] default">
</form> </form>
[% PROCESS global/footer.html.tmpl %] [% PROCESS global/footer.html.tmpl %]
......
...@@ -19,6 +19,8 @@ ...@@ -19,6 +19,8 @@
# Contributor(s): Myk Melez <myk@mozilla.org> # Contributor(s): Myk Melez <myk@mozilla.org>
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% dontchange = "--do_not_change--" %] [% dontchange = "--do_not_change--" %]
<input type="hidden" name="dontchange" value="[% dontchange FILTER html %]"> <input type="hidden" name="dontchange" value="[% dontchange FILTER html %]">
...@@ -38,9 +40,9 @@ ...@@ -38,9 +40,9 @@
<hr> <hr>
<p><font size="-1"> <p><font size="-1">
To change multiple bugs: To change multiple [% terms.bugs %]:
<ol> <ol>
<li>Check the bugs you want to change above.</li> <li>Check the [% terms.bugs %] you want to change above.</li>
<li>Make your changes in the form fields below. If the change <li>Make your changes in the form fields below. If the change
you are making requires an explanation, include it in you are making requires an explanation, include it in
the comments box.</li> the comments box.</li>
...@@ -53,13 +55,13 @@ ...@@ -53,13 +55,13 @@
<th><label for="product">Product:</label></th> <th><label for="product">Product:</label></th>
<td> <td>
[% PROCESS selectmenu menuname = "product" [% PROCESS selectmenu menuname = "product"
menuitems = products %] menuitems = products %]
</td> </td>
<th><label for="version">Version:</label></th> <th><label for="version">Version:</label></th>
<td> <td>
[% PROCESS selectmenu menuname = "version" [% PROCESS selectmenu menuname = "version"
menuitems = versions %] menuitems = versions %]
</td> </td>
...@@ -72,7 +74,7 @@ ...@@ -72,7 +74,7 @@
</label> </label>
</th> </th>
<td> <td>
[% PROCESS selectmenu menuname = "rep_platform" [% PROCESS selectmenu menuname = "rep_platform"
menuitems = platforms %] menuitems = platforms %]
</td> </td>
...@@ -82,7 +84,7 @@ ...@@ -82,7 +84,7 @@
</label> </label>
</th> </th>
<td> <td>
[% PROCESS selectmenu menuname = "priority" [% PROCESS selectmenu menuname = "priority"
menuitems = priorities %] menuitems = priorities %]
</td> </td>
...@@ -91,7 +93,7 @@ ...@@ -91,7 +93,7 @@
<th><label for="component">Component:</label></th> <th><label for="component">Component:</label></th>
<td> <td>
[% PROCESS selectmenu menuname = "component" [% PROCESS selectmenu menuname = "component"
menuitems = components %] menuitems = components %]
</td> </td>
...@@ -101,7 +103,7 @@ ...@@ -101,7 +103,7 @@
</label> </label>
</th> </th>
<td> <td>
[% PROCESS selectmenu menuname = "bug_severity" [% PROCESS selectmenu menuname = "bug_severity"
menuitems = severities %] menuitems = severities %]
</td> </td>
...@@ -110,7 +112,7 @@ ...@@ -110,7 +112,7 @@
<th><label for="target_milestone">Target Milestone:</label></th> <th><label for="target_milestone">Target Milestone:</label></th>
<td colspan="3"> <td colspan="3">
[% PROCESS selectmenu menuname = "target_milestone" [% PROCESS selectmenu menuname = "target_milestone"
menuitems = targetmilestones %] menuitems = targetmilestones %]
</td> </td>
...@@ -139,9 +141,9 @@ ...@@ -139,9 +141,9 @@
<tr> <tr>
<th><label for="qa_contact">QA Contact:</label></th> <th><label for="qa_contact">QA Contact:</label></th>
<td colspan="3"> <td colspan="3">
<input id="qa_contact" <input id="qa_contact"
name="qa_contact" name="qa_contact"
value="[% dontchange FILTER html %]" value="[% dontchange FILTER html %]"
size="32"> size="32">
</td> </td>
</tr> </tr>
...@@ -192,9 +194,9 @@ ...@@ -192,9 +194,9 @@
<b>Groupset:</b><br> <b>Groupset:</b><br>
<table border="1"> <table border="1">
<tr> <tr>
<th>Don&apos;t<br>change<br>this group<br>restriction</td> <th>Don't<br>change<br>this group<br>restriction</td>
<th>Remove<br>bugs<br>from this<br>group</td> <th>Remove<br>[% terms.bugs %]<br>from this<br>group</td>
<th>Add<br>bugs<br>to this<br>group</td> <th>Add<br>[% terms.bugs %]<br>to this<br>group</td>
<th>Group Name:</td> <th>Group Name:</td>
</tr> </tr>
...@@ -229,7 +231,7 @@ ...@@ -229,7 +231,7 @@
</table> </table>
[% IF foundinactive %] [% IF foundinactive %]
<font size="-1">(Note: Bugs may not be added to <strike>inactive <font size="-1">(Note: [% terms.Bugs %] may not be added to <strike>inactive
groups</strike>, only removed.)</font><br> groups</strike>, only removed.)</font><br>
[% END %] [% END %]
...@@ -245,14 +247,14 @@ ...@@ -245,14 +247,14 @@
[% knum = knum + 1 %] [% knum = knum + 1 %]
<input id="knob-confirm" type="radio" name="knob" value="confirm"> <input id="knob-confirm" type="radio" name="knob" value="confirm">
<label for="knob-confirm"> <label for="knob-confirm">
Confirm bugs (change status to <b>NEW</b>) Confirm [% terms.bugs %] (change status to <b>NEW</b>)
</label><br> </label><br>
[% END %] [% END %]
[% knum = knum + 1 %] [% knum = knum + 1 %]
<input id="knob-accept" type="radio" name="knob" value="accept"> <input id="knob-accept" type="radio" name="knob" value="accept">
<label for="knob-accept"> <label for="knob-accept">
Accept bugs (change status to <b>ASSIGNED</b>) Accept [% terms.bugs %] (change status to <b>ASSIGNED</b>)
</label><br> </label><br>
[%# If all the bugs being changed are open, allow the user to close them. %] [%# If all the bugs being changed are open, allow the user to close them. %]
...@@ -264,7 +266,7 @@ ...@@ -264,7 +266,7 @@
[% knum = knum + 1 %] [% knum = knum + 1 %]
<input id="knob-resolve" type="radio" name="knob" value="resolve"> <input id="knob-resolve" type="radio" name="knob" value="resolve">
<label for="knob-resolve"> <label for="knob-resolve">
Resolve bugs, changing <a href="bug_status.html">resolution</a> to Resolve [% terms.bugs %], changing <a href="bug_status.html">resolution</a> to
</label> </label>
<select name="resolution" onchange="document.forms.changeform.knob[[% knum %]].checked=true"> <select name="resolution" onchange="document.forms.changeform.knob[[% knum %]].checked=true">
[% FOREACH resolution = resolutions %] [% FOREACH resolution = resolutions %]
...@@ -281,38 +283,38 @@ ...@@ -281,38 +283,38 @@
[% IF !bugstatuses.containsany(openstates) %] [% IF !bugstatuses.containsany(openstates) %]
[% knum = knum + 1 %] [% knum = knum + 1 %]
<input id="knob-reopen" type="radio" name="knob" value="reopen"> <input id="knob-reopen" type="radio" name="knob" value="reopen">
<label for="knob-reopen">Reopen bugs</label><br> <label for="knob-reopen">Reopen [% terms.bugs %]</label><br>
[% END %] [% END %]
[% IF bugstatuses.size == 1 %] [% IF bugstatuses.size == 1 %]
[% IF bugstatuses.contains('RESOLVED') %] [% IF bugstatuses.contains('RESOLVED') %]
[% knum = knum + 1 %] [% knum = knum + 1 %]
<input id="knob-verify" type="radio" name="knob" value="verify"> <input id="knob-verify" type="radio" name="knob" value="verify">
<label for="knob-verify">Mark bugs as <b>VERIFIED</b></label><br> <label for="knob-verify">Mark [% terms.bugs %] as <b>VERIFIED</b></label><br>
[% ELSIF bugstatuses.contains('VERIFIED') %] [% ELSIF bugstatuses.contains('VERIFIED') %]
[% knum = knum + 1 %] [% knum = knum + 1 %]
<input id="knob-close" type="radio" name="knob" value="close"> <input id="knob-close" type="radio" name="knob" value="close">
<label for="knob-close">Mark bugs as <b>CLOSED</b></label><br> <label for="knob-close">Mark [% terms.bugs %] as <b>CLOSED</b></label><br>
[% END %] [% END %]
[% END %] [% END %]
[% knum = knum + 1 %] [% knum = knum + 1 %]
<input id="knob-reassign" type="radio" name="knob" value="reassign"> <input id="knob-reassign" type="radio" name="knob" value="reassign">
<label for="knob-reassign"><a href="bug_status.html#assigned_to"> <label for="knob-reassign"><a href="bug_status.html#assigned_to">
Reassign</a> bugs to Reassign</a> [% terms.bugs %] to
</label> </label>
<input name="assigned_to" <input name="assigned_to"
value="[% user.login FILTER html %]" value="[% user.login FILTER html %]"
onchange="document.forms.changeform.knob[[% knum %]].checked = true;" onchange="document.forms.changeform.knob[[% knum %]].checked = true;"
size="32"><br> size="32"><br>
[% knum = knum + 1 %] [% knum = knum + 1 %]
<input id="knob-reassignbycomponent" <input id="knob-reassignbycomponent"
type="radio" type="radio"
name="knob" name="knob"
value="reassignbycomponent"> value="reassignbycomponent">
<label for="knob-reassignbycomponent"> <label for="knob-reassignbycomponent">
Reassign bugs to owner of selected component Reassign [% terms.bugs %] to owner of selected component
</label><br> </label><br>
<input type="submit" value="Commit"> <input type="submit" value="Commit">
......
...@@ -23,11 +23,13 @@ ...@@ -23,11 +23,13 @@
# title: string. The title for this page. (optional) # title: string. The title for this page. (optional)
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[%############################################################################%] [%############################################################################%]
[%# Initialization #%] [%# Initialization #%]
[%############################################################################%] [%############################################################################%]
[% DEFAULT title = "Bug List" %] [% DEFAULT title = "$terms.Bug List" %]
[% title = title FILTER html %] [% title = title FILTER html %]
...@@ -44,7 +46,7 @@ ...@@ -44,7 +46,7 @@
<body> <body>
[% IF bugs.size == 0 %] [% IF bugs.size == 0 %]
<h3>Zarro Boogs found.</h3> <h3>[% terms.zeroSearchResults %].</h3>
[% ELSE %] [% ELSE %]
[% PROCESS list/table.html.tmpl %] [% PROCESS list/table.html.tmpl %]
[% END %] [% END %]
......
...@@ -20,6 +20,8 @@ ...@@ -20,6 +20,8 @@
# Gervase Markham <gerv@gerv.net> # Gervase Markham <gerv@gerv.net>
#%] #%]
[% PROCESS global/variables.none.tmpl %]
bug_id, bug_id,
[% FOREACH column = displaycolumns %] [% FOREACH column = displaycolumns %]
[% column FILTER csv %], [% column FILTER csv %],
...@@ -30,5 +32,5 @@ bug_id, ...@@ -30,5 +32,5 @@ bug_id,
[% FOREACH column = displaycolumns %] [% FOREACH column = displaycolumns %]
[% bug.$column FILTER csv %], [% bug.$column FILTER csv %],
[% END %] [% END %]
[% END %] [% END %]
...@@ -23,7 +23,9 @@ ...@@ -23,7 +23,9 @@
[%# Template Initialization #%] [%# Template Initialization #%]
[%############################################################################%] [%############################################################################%]
[% DEFAULT title = "Bug List" %] [% PROCESS global/variables.none.tmpl %]
[% DEFAULT title = "$terms.Bug List" %]
[% style_urls = [ "css/buglist.css" ] %] [% style_urls = [ "css/buglist.css" ] %]
[% qorder = order FILTER url_quote IF order %] [% qorder = order FILTER url_quote IF order %]
...@@ -45,7 +47,7 @@ ...@@ -45,7 +47,7 @@
[% END %] [% END %]
[% IF Param('enablequips') != 'off' %] [% IF Param('enablequips') != 'off' %]
[% DEFAULT quip = "Bugzilla would like to put a random quip here, but no one has entered any." %] [% DEFAULT quip = "$terms.Bugzilla would like to put a random quip here, but no one has entered any." %]
<a href="quips.cgi"><i>[% quip FILTER html %]</i></a> <a href="quips.cgi"><i>[% quip FILTER html %]</i></a>
[% END %] [% END %]
...@@ -53,8 +55,8 @@ ...@@ -53,8 +55,8 @@
[% IF toolong %] [% IF toolong %]
<h2> <h2>
This list is too long for Bugzilla's little mind; the This list is too long for [% terms.Bugzilla %]'s little mind; the
Next/Prev/First/Last buttons won't appear on individual bugs. Next/Prev/First/Last buttons won't appear on individual [% terms.bugs %].
</h2> </h2>
[% END %] [% END %]
...@@ -66,7 +68,7 @@ ...@@ -66,7 +68,7 @@
[%############################################################################%] [%############################################################################%]
[% IF bugs.size > 9 %] [% IF bugs.size > 9 %]
[% bugs.size %] bugs found. [% bugs.size %]&nbsp;[% terms.bugs %] found.
[% END %] [% END %]
...@@ -91,18 +93,18 @@ ...@@ -91,18 +93,18 @@
[%############################################################################%] [%############################################################################%]
[% IF bugs.size == 0 %] [% IF bugs.size == 0 %]
Zarro Boogs found. [% terms.zeroSearchResults %].
<p> <p>
<a href="query.cgi">Query Page</a> <a href="query.cgi">Query Page</a>
&nbsp;&nbsp;<a href="enter_bug.cgi">Enter New Bug</a> &nbsp;&nbsp;<a href="enter_bug.cgi">Enter New [% terms.Bug %]</a>
<a href="query.cgi?[% urlquerypart FILTER html %]">Edit this query</a> <a href="query.cgi?[% urlquerypart FILTER html %]">Edit this query</a>
</p> </p>
[% ELSIF bugs.size == 1 %] [% ELSIF bugs.size == 1 %]
One bug found. One [% terms.bug %] found.
[% ELSE %] [% ELSE %]
[% bugs.size %] bugs found. [% bugs.size %]&nbsp;[% terms.bugs %] found.
[% END %] [% END %]
...@@ -116,7 +118,7 @@ ...@@ -116,7 +118,7 @@
[% IF dotweak %] [% IF dotweak %]
[% PROCESS "list/edit-multiple.html.tmpl" %] [% PROCESS "list/edit-multiple.html.tmpl" %]
</form> </form>
<hr> <hr>
...@@ -140,13 +142,13 @@ ...@@ -140,13 +142,13 @@
[% IF bugs.size > 1 && caneditbugs && !dotweak %] [% IF bugs.size > 1 && caneditbugs && !dotweak %]
<a href="buglist.cgi?[% urlquerypart FILTER html %] <a href="buglist.cgi?[% urlquerypart FILTER html %]
[%- "&order=$qorder" FILTER html IF order %]&amp;tweak=1">Change Several [%- "&order=$qorder" FILTER html IF order %]&amp;tweak=1">Change Several&nbsp;
Bugs at Once</a> [% terms.Bugs %] at Once</a>
&nbsp;&nbsp; &nbsp;&nbsp;
[% END %] [% END %]
[% IF bugowners %] [% IF bugowners %]
<a href="mailto:[% bugowners %]">Send Mail to Bug Owners</a> &nbsp;&nbsp; <a href="mailto:[% bugowners %]">Send Mail to [% terms.Bug %] Owners</a> &nbsp;&nbsp;
[% END %] [% END %]
<a href="query.cgi? <a href="query.cgi?
......
...@@ -20,14 +20,16 @@ ...@@ -20,14 +20,16 @@
#%] #%]
[%# INTERFACE: [%# INTERFACE:
# added_quip: string. Defined if the CGI added a quip data before # added_quip: string. Defined if the CGI added a quip data before
# displaying anything; if defined, its value is that quip. # displaying anything; if defined, its value is that quip.
# show_quips: boolean. True if we are showing the entire quip list. # show_quips: boolean. True if we are showing the entire quip list.
# quips: list of strings. Defined iff show_quips is true. List of all quips. # quips: list of strings. Defined iff show_quips is true. List of all quips.
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% PROCESS global/header.html.tmpl [% PROCESS global/header.html.tmpl
title = "Bugzilla Quip System" title = "$terms.Bugzilla Quip System"
h1 = "Add your own clever headline" h1 = "Add your own clever headline"
%] %]
...@@ -55,8 +57,8 @@ ...@@ -55,8 +57,8 @@
[% END %] [% END %]
<p> <p>
Bugzilla will pick a random quip for the headline on each bug list, and [% terms.Bugzilla %] will pick a random quip for the headline on each [% terms.bug %] list, and
you can extend the quip list. Type in something clever or funny or boring you can extend the quip list. Type in something clever or funny or boring
(but not obscene or offensive, please) and bonk on the button. (but not obscene or offensive, please) and bonk on the button.
[% IF Param("enablequips") == "approved" AND !user.groups.admin %] [% IF Param("enablequips") == "approved" AND !user.groups.admin %]
Note that your quip has to be approved before it is used. Note that your quip has to be approved before it is used.
...@@ -141,8 +143,8 @@ ...@@ -141,8 +143,8 @@
[% END %] [% END %]
[% ELSE %] [% ELSE %]
<p> <p>
Those who like their wisdom in large doses can Those who like their wisdom in large doses can
<a href="quips.cgi?action=show">view <a href="quips.cgi?action=show">view
[% IF UserInGroup('admin') %] [% IF UserInGroup('admin') %]
and edit and edit
[% END %] [% END %]
......
...@@ -23,10 +23,12 @@ ...@@ -23,10 +23,12 @@
# debug: boolean. True if we want the query displayed while we wait. # debug: boolean. True if we want the query displayed while we wait.
# query: string. The SQL query which makes the buglist. # query: string. The SQL query which makes the buglist.
#%] #%]
[% PROCESS global/variables.none.tmpl %]
<html> <html>
<head> <head>
<title>Bugzilla is pondering your query</title> <title>[% terms.Bugzilla %] is pondering your query</title>
</head> </head>
<body> <body>
<h1 style="margin-top: 20%; text-align: center;">Please stand by ...</h1> <h1 style="margin-top: 20%; text-align: center;">Please stand by ...</h1>
......
...@@ -20,17 +20,18 @@ ...@@ -20,17 +20,18 @@
# Gervase Markham <gerv@gerv.net> # Gervase Markham <gerv@gerv.net>
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% INCLUDE global/header.html.tmpl title = "Linkify Text" %] [% INCLUDE global/header.html.tmpl title = "Linkify Text" %]
<p> <p>
If you enter some text, this form will return it marked up like a If you enter some text, this form will return it marked up like a
standard Bugzilla comment. That is, valid bug numbers, URLs, email addresses standard [% terms.Bugzilla %] comment. That is, valid [% terms.bug %] numbers,
and so on will be replaced with appropriate HTML links. URLs, email addresses and so on will be replaced with appropriate HTML links.
</p> </p>
<form action="page.cgi" method="post"> <form action="page.cgi" method="post">
<textarea cols="80" rows="20" name="text" wrap="hard"></textarea> <textarea cols="80" rows="20" name="text" wrap="hard"></textarea>
<br> <br>
<input type="hidden" name="id" value="linked.html"> <input type="hidden" name="id" value="linked.html">
<input value="Linkify" type="submit"> <input value="Linkify" type="submit">
</form> </form>
......
...@@ -22,13 +22,15 @@ ...@@ -22,13 +22,15 @@
[%# INTERFACE: [%# INTERFACE:
# You need to fulfill the interface to duplicates-table.html.tmpl. # You need to fulfill the interface to duplicates-table.html.tmpl.
#%] #%]
[% PROCESS global/variables.none.tmpl %]
<html> <html>
[% IF product %] [% IF product %]
[% title = "Most Frequently Reported Bugs for $product" %] [% title = "Most Frequently Reported $terms.Bugs for $product" %]
[% ELSE %] [% ELSE %]
[% title = "Most Frequently Reported Bugs" %] [% title = "Most Frequently Reported $terms.Bugs" %]
[% END%] [% END%]
<head> <head>
......
...@@ -31,36 +31,38 @@ ...@@ -31,36 +31,38 @@
# short_desc: string. The bug's summary. # short_desc: string. The bug's summary.
# bug_status: string. The bug's status. # bug_status: string. The bug's status.
# resolution: string. The bug's resolution, if any. # resolution: string. The bug's resolution, if any.
# #
# bug_ids: list of integers. May be empty. The IDs of the bugs in $bugs. # bug_ids: list of integers. May be empty. The IDs of the bugs in $bugs.
# #
# sortby: string. the column on which we are sorting the buglist. # sortby: string. the column on which we are sorting the buglist.
# reverse: boolean. True if we are reversing the current sort. # reverse: boolean. True if we are reversing the current sort.
# maxrows: integer. Max number of rows to display. # maxrows: integer. Max number of rows to display.
# changedsince: integer. The number of days ago for the changedsince column. # changedsince: integer. The number of days ago for the changedsince column.
# openonly: boolean. True if we are only showing open bugs. # openonly: boolean. True if we are only showing open bugs.
# product: string. Restrict to this product only. # product: string. Restrict to this product only.
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[%# *** Column Headers *** %] [%# *** Column Headers *** %]
[% IF bug_ids.size > 0 %] [% IF bug_ids.size > 0 %]
<table border> <table border>
<tr bgcolor="#CCCCCC"> <tr bgcolor="#CCCCCC">
[% FOREACH column = [ { name => "id", description => "Bug #" }, [% FOREACH column = [ { name => "id", description => "$terms.Bug #" },
{ name => "count", description => "Dupe<br>Count" }, { name => "count", description => "Dupe<br>Count" },
{ name => "delta", { name => "delta",
description => "Change in last<br>$changedsince day(s)" }, description => "Change in last<br>$changedsince day(s)" },
{ name => "component", description => "Component" }, { name => "component", description => "Component" },
{ name => "bug_severity", description => "Severity" }, { name => "bug_severity", description => "Severity" },
{ name => "op_sys", description => "Op Sys" }, { name => "op_sys", description => "Op Sys" },
{ name => "target_milestone", { name => "target_milestone",
description => "Target<br>Milestone" }, description => "Target<br>Milestone" },
{ name => "short_desc", description => "Summary" } ] { name => "short_desc", description => "Summary" } ]
%] %]
[%# Small hack to keep delta column out if we don't need it %] [%# Small hack to keep delta column out if we don't need it %]
[% NEXT IF column.name == "delta" AND NOT dobefore %] [% NEXT IF column.name == "delta" AND NOT dobefore %]
<td> <td>
<center> <center>
...@@ -112,7 +114,7 @@ ...@@ -112,7 +114,7 @@
[% FOREACH bug = bugs %] [% FOREACH bug = bugs %]
[% LAST IF loop.index() >= maxrows %] [% LAST IF loop.index() >= maxrows %]
[% vis_bug_ids.push(bug.id) %] [% vis_bug_ids.push(bug.id) %]
<tr [% "class='resolved'" IF bug.resolution != "" %]> <tr [% "class='resolved'" IF bug.resolution != "" %]>
<td> <td>
...@@ -143,5 +145,5 @@ ...@@ -143,5 +145,5 @@
</table> </table>
[% ELSE %] [% ELSE %]
<h3>No duplicate bugs found.</h3> <h3>No duplicate [% terms.bugs %] found.</h3>
[% END %] [% END %]
...@@ -21,25 +21,27 @@ ...@@ -21,25 +21,27 @@
[%# INTERFACE: [%# INTERFACE:
# products: list of strings. The products this user can see. # products: list of strings. The products this user can see.
# #
# sortby: string. the column on which we are sorting the buglist. # sortby: string. the column on which we are sorting the buglist.
# reverse: boolean. True if we are reversing the current sort. # reverse: boolean. True if we are reversing the current sort.
# maxrows: integer. Max number of rows to display. # maxrows: integer. Max number of rows to display.
# changedsince: integer. The number of days ago for the changedsince column. # changedsince: integer. The number of days ago for the changedsince column.
# openonly: boolean. True if we are only showing open bugs. # openonly: boolean. True if we are only showing open bugs.
# product: string. Restrict to this product only. # product: string. Restrict to this product only.
# #
# Additionally, you need to fulfill the interface to # Additionally, you need to fulfill the interface to
# duplicates-table.html.tmpl. # duplicates-table.html.tmpl.
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% IF product %] [% IF product %]
[% title = "Most Frequently Reported Bugs for $product" %] [% title = "Most Frequently Reported $terms.Bugs for $product" %]
[% ELSE %] [% ELSE %]
[% title = "Most Frequently Reported Bugs" %] [% title = "Most Frequently Reported $terms.Bugs" %]
[% END%] [% END%]
[% PROCESS global/header.html.tmpl [% PROCESS global/header.html.tmpl
style = ".resolved { background-color: #d9d9d9; color: #000000; }" style = ".resolved { background-color: #d9d9d9; color: #000000; }"
%] %]
...@@ -66,14 +68,14 @@ ...@@ -66,14 +68,14 @@
<td>When sorting or restricting, <td>When sorting or restricting,
work with:</td> work with:</td>
<td> <td>
<input type="radio" name="sortvisible" id="entirelist" value="0" <input type="radio" name="sortvisible" id="entirelist" value="0"
[% "checked" IF NOT sortvisible %]> [% "checked" IF NOT sortvisible %]>
<label for="entirelist"> <label for="entirelist">
entire list entire list
</label> </label>
<br> <br>
<input type="radio" name="sortvisible" id="visiblelist" value="1" <input type="radio" name="sortvisible" id="visiblelist" value="1"
[% "checked" IF sortvisible %]> [% "checked" IF sortvisible %]>
<label for="visiblelist"> <label for="visiblelist">
currently visible list currently visible list
</label> </label>
...@@ -106,65 +108,65 @@ ...@@ -106,65 +108,65 @@
<tr> <tr>
<td> <td>
<label for="openonly"> <label for="openonly">
Open bugs only: Open [% terms.bugs %] only:
</label> </label>
</td> </td>
<td> <td>
<input type="checkbox" name="openonly" id="openonly" value="1" <input type="checkbox" name="openonly" id="openonly" value="1"
[% "checked" IF openonly %]> [% "checked" IF openonly %]>
</td> </td>
</tr> </tr>
</table> </table>
<input type="submit" value="Change"> <input type="submit" value="Change">
</form> </form>
<form method="post" action="buglist.cgi"> <form method="post" action="buglist.cgi">
<input type="hidden" name="bug_id" value="[% bug_ids_string %]"> <input type="hidden" name="bug_id" value="[% bug_ids_string %]">
<input type="hidden" name="order" value="Reuse same sort as last time"> <input type="hidden" name="order" value="Reuse same sort as last time">
Or just give this to me as a <input type="submit" value="bug list">. Or just give this to me as a <input type="submit" value="[% terms.bug %] list">.
(Note: the order may not be the same.) (Note: the order may not be the same.)
</form> </form>
<hr> <hr>
<b> <b>
<a name="explanation">What are "Most Frequently Reported Bugs"?</a> <a name="explanation">What are "Most Frequently Reported [% terms.Bugs %]"?</a>
</b> </b>
<blockquote> <blockquote>
The Most Frequent Bugs page lists the known open bugs which The Most Frequent [% terms.Bugs %] page lists the known open [% terms.bugs %] which
are reported most frequently. It is are reported most frequently. It is
automatically generated from the Bugzilla database every 24 hours, by automatically generated from the [% terms.Bugzilla %] database every 24 hours, by
counting the number of direct and indirect duplicates of bugs. counting the number of direct and indirect duplicates of [% terms.bugs %].
This information is provided in order to assist in minimizing This information is provided in order to assist in minimizing
the amount of duplicate bugs entered into Bugzilla, which saves time the amount of duplicate [% terms.bugs %] entered into [% terms.Bugzilla %], which
for Quality Assurance engineers who have to triage the bugs. saves time for Quality Assurance engineers who have to triage the [% terms.bugs %].
</blockquote> </blockquote>
<b>How do I use this list?</b> <b>How do I use this list?</b>
<ul> <ul>
<li>Review the most frequent bugs list.</li> <li>Review the most frequent [% terms.bugs %] list.</li>
<li>If your problem is listed:</li> <li>If your problem is listed:</li>
<ul> <ul>
<li>Click on the bug number to confirm that you have found the same bug, <li>Click on the [% terms.bug %] number to confirm that you have found the
and comment if you have additional information or move on with your same [% terms.bug %], and comment if you have additional information
testing of the product. or move on with your testing of the product.
</li> </li>
</ul> </ul>
<li>If your problem not listed:</li> <li>If your problem not listed:</li>
<ul> <ul>
<li><a href="query.cgi">Try and locate a similar bug</a> <li><a href="query.cgi">Try and locate a similar [% terms.bug %]</a>
that has already been filed.</li> that has already been filed.</li>
<li>If you find your bug in Bugzilla, feel free to comment with any new or <li>If you find your [% terms.bug %] in [% terms.Bugzilla %],
additional data you may have.</li> feel free to comment with any new or additional data you may have.</li>
<li>If you cannot find your problem already documented in Bugzilla, <li>If you cannot find your problem already documented in [% terms.Bugzilla %],
<a href="enter_bug.cgi">file a new bug</a>.</li> <a href="enter_bug.cgi">file a new [% terms.bug %]</a>.</li>
</ul> </ul>
</ul> </ul>
......
...@@ -26,9 +26,11 @@ ...@@ -26,9 +26,11 @@
# bugcount: number of bugs with that keyword # bugcount: number of bugs with that keyword
# caneditkeywords: boolean. True if this user can edit keywords # caneditkeywords: boolean. True if this user can edit keywords
%] %]
[% PROCESS global/header.html.tmpl [% PROCESS global/variables.none.tmpl %]
title = "Bugzilla Keyword Descriptions"
[% PROCESS global/header.html.tmpl
title = "$terms.Bugzilla Keyword Descriptions"
%] %]
[% FOREACH keyword = keywords %] [% FOREACH keyword = keywords %]
...@@ -36,15 +38,15 @@ ...@@ -36,15 +38,15 @@
[% IF loop.index != 0 %] [% IF loop.index != 0 %]
</table> </table>
[% END %] [% END %]
<table border="1" cellpadding="4" cellspacing="0"> <table border="1" cellpadding="4" cellspacing="0">
<tr bgcolor="#6666FF"> <tr bgcolor="#6666FF">
<th align="left">Name</th> <th align="left">Name</th>
<th align="left">Description</th> <th align="left">Description</th>
<th align="left">Bugs</th> <th align="left">[% terms.Bugs %]</th>
</tr> </tr>
[% END %] [% END %]
<tr> <tr>
<th> <th>
<a name="[% keyword.name FILTER html %]"> <a name="[% keyword.name FILTER html %]">
......
...@@ -24,12 +24,14 @@ ...@@ -24,12 +24,14 @@
# types in Bugzilla. # types in Bugzilla.
#%] #%]
[% PROCESS global/header.html.tmpl [% PROCESS global/variables.none.tmpl %]
[% PROCESS global/header.html.tmpl
title = "Reporting and Charting Kitchen" title = "Reporting and Charting Kitchen"
%] %]
<p> <p>
Bugzilla allows you to view and track the state of the bug database in [% terms.Bugzilla %] allows you to view and track the state of the [% terms.bug %] database in
all manner of exciting ways. all manner of exciting ways.
</p> </p>
...@@ -37,14 +39,14 @@ ...@@ -37,14 +39,14 @@
<ul> <ul>
<li> <li>
<strong><a href="query.cgi">Search</a></strong> - <strong><a href="query.cgi">Search</a></strong> -
list sets of bugs. list sets of [% terms.bugs %].
</li> </li>
<li> <li>
<strong> <strong>
<a href="query.cgi?format=report-table">Tabular reports</a> <a href="query.cgi?format=report-table">Tabular reports</a>
</strong> - </strong> -
tables of bug counts in 1, 2 or 3 dimensions, as HTML or CSV. tables of [% terms.bug %] counts in 1, 2 or 3 dimensions, as HTML or CSV.
</li> </li>
<li> <li>
<strong> <strong>
...@@ -59,7 +61,7 @@ ...@@ -59,7 +61,7 @@
<ul> <ul>
<li> <li>
<strong><a href="reports.cgi">Old Charts</a></strong> - <strong><a href="reports.cgi">Old Charts</a></strong> -
plot the status and/or resolution of bugs against plot the status and/or resolution of [% terms.bugs %] against
time, for each product in your database. time, for each product in your database.
</li> </li>
<li> <li>
......
...@@ -19,7 +19,9 @@ ...@@ -19,7 +19,9 @@
# Contributor(s): Gervase Markham <gerv@gerv.net> # Contributor(s): Gervase Markham <gerv@gerv.net>
#%] #%]
[% y_label = "Bugs" %] [% PROCESS global/variables.none.tmpl %]
[% y_label = "$terms.Bugs" %]
[% PROCESS "global/field-descs.none.tmpl" %] [% PROCESS "global/field-descs.none.tmpl" %]
...@@ -30,26 +32,26 @@ ...@@ -30,26 +32,26 @@
graph.set(x_label => col_field_disp, graph.set(x_label => col_field_disp,
y_label => y_label, y_label => y_label,
y_tick_number => 8, y_tick_number => 8,
y_number_format => "%d", y_number_format => "%d",
x_label_position => 0.5, x_label_position => 0.5,
x_labels_vertical => x_labels_vertical, x_labels_vertical => x_labels_vertical,
bar_spacing => 8, bar_spacing => 8,
shadow_depth => 4, shadow_depth => 4,
shadowclr => 'dred', shadowclr => 'dred',
show_values => 1, show_values => 1,
legend_placement => "RT"); legend_placement => "RT");
graph.set(cumulate => "true", graph.set(cumulate => "true",
show_values => 0) IF cumulate; show_values => 0) IF cumulate;
# Workaround for the fact that set_legend won't take row_names directly, # Workaround for the fact that set_legend won't take row_names directly,
# because row_names is an array reference rather than an array. # because row_names is an array reference rather than an array.
graph.set_legend(row_names.0, row_names.1, row_names.2, row_names.3, graph.set_legend(row_names.0, row_names.1, row_names.2, row_names.3,
row_names.4, row_names.5, row_names.6, row_names.7, row_names.4, row_names.5, row_names.6, row_names.7,
row_names.8, row_names.9, row_names.10, row_names.11, row_names.8, row_names.9, row_names.10, row_names.11,
row_names.12, row_names.13, row_names.14, row_names.15); row_names.12, row_names.13, row_names.14, row_names.15);
graph.plot(data.0).png | stdout(1); graph.plot(data.0).png | stdout(1);
END; END;
-%] -%]
...@@ -19,7 +19,9 @@ ...@@ -19,7 +19,9 @@
# Contributor(s): Gervase Markham <gerv@gerv.net> # Contributor(s): Gervase Markham <gerv@gerv.net>
#%] #%]
[% y_label = "Bugs" %] [% PROCESS global/variables.none.tmpl %]
[% y_label = "$terms.Bugs" %]
[% PROCESS "global/field-descs.none.tmpl" %] [% PROCESS "global/field-descs.none.tmpl" %]
...@@ -35,19 +37,19 @@ ...@@ -35,19 +37,19 @@
[% FILTER null; [% FILTER null;
graph.set(x_label => col_field_disp, graph.set(x_label => col_field_disp,
y_label => y_label, y_label => y_label,
y_tick_number => 8, y_tick_number => 8,
x_label_position => 0.5, x_label_position => 0.5,
x_labels_vertical => x_labels_vertical, x_labels_vertical => x_labels_vertical,
legend_placement => "RT", legend_placement => "RT",
line_width => 2); line_width => 2);
# Workaround for the fact that set_legend won't take row_names directly, # Workaround for the fact that set_legend won't take row_names directly,
# because row_names is an array reference rather than an array. # because row_names is an array reference rather than an array.
graph.set_legend(row_names.0, row_names.1, row_names.2, row_names.3, graph.set_legend(row_names.0, row_names.1, row_names.2, row_names.3,
row_names.4, row_names.5, row_names.6, row_names.7, row_names.4, row_names.5, row_names.6, row_names.7,
row_names.8, row_names.9, row_names.10, row_names.11, row_names.8, row_names.9, row_names.10, row_names.11,
row_names.12, row_names.13, row_names.14, row_names.15); row_names.12, row_names.13, row_names.14, row_names.15);
graph.plot(data.0).png | stdout(1); graph.plot(data.0).png | stdout(1);
END; END;
-%] -%]
......
...@@ -21,7 +21,9 @@ ...@@ -21,7 +21,9 @@
[%# INTERFACE: [%# INTERFACE:
# See report-table.html.tmpl. # See report-table.html.tmpl.
#%] #%]
[% num_bugs = "Number of bugs" %] [% PROCESS global/variables.none.tmpl %]
[% num_bugs = BLOCK %]Number of [% terms.bugs %][% END %]
[% tbl_field_disp = field_descs.$tbl_field || tbl_field %] [% tbl_field_disp = field_descs.$tbl_field || tbl_field %]
[% col_field_disp = field_descs.$col_field || col_field %] [% col_field_disp = field_descs.$col_field || col_field %]
[% row_field_disp = field_descs.$row_field || row_field %] [% row_field_disp = field_descs.$row_field || row_field %]
......
...@@ -19,6 +19,9 @@ ...@@ -19,6 +19,9 @@
# Contributor(s): Myk Melez <myk@mozilla.org> # Contributor(s): Myk Melez <myk@mozilla.org>
# Jeff Hedlund <jeff.hedlund@matrixsi.com> # Jeff Hedlund <jeff.hedlund@matrixsi.com>
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% bugidsummary = flag.target.bug.id _ ': ' _ flag.target.bug.summary %] [% bugidsummary = flag.target.bug.id _ ': ' _ flag.target.bug.summary %]
[% attidsummary = flag.target.attachment.id _ ': ' _ [% attidsummary = flag.target.attachment.id _ ': ' _
flag.target.attachment.summary %] flag.target.attachment.summary %]
...@@ -36,8 +39,8 @@ ...@@ -36,8 +39,8 @@
From: bugzilla-request-daemon From: bugzilla-request-daemon
To: [% to_email %] To: [% to_email %]
CC: [% flag.type.cc_list %] CC: [% flag.type.cc_list %]
Subject: [% flag.type.name %] [%+ subject_status %]: [Bug [% flag.target.bug.id %]] [% flag.target.bug.summary %] Subject: [% flag.type.name %] [%+ subject_status %]: [[% terms.Bug %]&nbsp;[% flag.target.bug.id %]] [% flag.target.bug.summary %]
[%- IF flag.target.attachment.exists %] : [%- IF flag.target.attachment.exists %] :
[Attachment [% flag.target.attachment.id %]] [% flag.target.attachment.summary %][% END %] [Attachment [% flag.target.attachment.id %]] [% flag.target.attachment.summary %][% END %]
[%+ USE wrap -%] [%+ USE wrap -%]
...@@ -45,7 +48,7 @@ Subject: [% flag.type.name %] [%+ subject_status %]: [Bug [% flag.target.bug.id ...@@ -45,7 +48,7 @@ Subject: [% flag.type.name %] [%+ subject_status %]: [Bug [% flag.target.bug.id
[% user.identity %] has [% statuses.${flag.status} %] [%+ to_identity %] for [% flag.type.name %]: [% user.identity %] has [% statuses.${flag.status} %] [%+ to_identity %] for [% flag.type.name %]:
Bug [% bugidsummary %] [% terms.Bug %]&nbsp;[% bugidsummary %]
[% END %] [% END %]
[%+ Param('urlbase') %]show_bug.cgi?id=[% flag.target.bug.id %] [%+ Param('urlbase') %]show_bug.cgi?id=[% flag.target.bug.id %]
[% IF flag.target.attachment.exists %] [% IF flag.target.attachment.exists %]
......
...@@ -19,6 +19,8 @@ ...@@ -19,6 +19,8 @@
# Contributor(s): Myk Melez <myk@mozilla.org> # Contributor(s): Myk Melez <myk@mozilla.org>
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[%# The javascript and header_html blocks get used in header.html.tmpl. %] [%# The javascript and header_html blocks get used in header.html.tmpl. %]
[% javascript = BLOCK %] [% javascript = BLOCK %]
var usetms = 0; // do we have target milestone? var usetms = 0; // do we have target milestone?
...@@ -26,7 +28,7 @@ ...@@ -26,7 +28,7 @@
var last_sel = []; // caches last selection var last_sel = []; // caches last selection
var cpts = new Array(); var cpts = new Array();
[% FOREACH p = products %] [% FOREACH p = products %]
cpts['[% p FILTER js %]'] = [ cpts['[% p FILTER js %]'] = [
[%- FOREACH item = components_by_product.$p %]'[% item FILTER js %]'[% ", " UNLESS loop.last %] [%- END -%] ]; [%- FOREACH item = components_by_product.$p %]'[% item FILTER js %]'[% ", " UNLESS loop.last %] [%- END -%] ];
[% END %] [% END %]
[% END %] [% END %]
...@@ -48,30 +50,30 @@ ...@@ -48,30 +50,30 @@
<select name="product" onchange="selectProduct(this.form, 'product', 'component', 'Any');"> <select name="product" onchange="selectProduct(this.form, 'product', 'component', 'Any');">
<option value="">Any</option> <option value="">Any</option>
[% FOREACH item = products %] [% FOREACH item = products %]
<option value="[% item FILTER html %]" <option value="[% item FILTER html %]"
[% "selected" IF form.product == item %]>[% item FILTER html %]</option> [% "selected" IF form.product == item %]>[% item FILTER html %]</option>
[% END %] [% END %]
</select> </select>
</td> </td>
<th>Flag:</th> <th>Flag:</th>
<td> <td>
[% PROCESS "global/select-menu.html.tmpl" [% PROCESS "global/select-menu.html.tmpl"
name="type" name="type"
options=types options=types
default=form.type %] default=form.type %]
</td> </td>
[%# We could let people see a "queue" of non-pending requests. %] [%# We could let people see a "queue" of non-pending requests. %]
<!-- <!--
<th>Status:</th> <th>Status:</th>
<td> <td>
[%# PROCESS "global/select-menu.html.tmpl" [%# PROCESS "global/select-menu.html.tmpl"
name="status" name="status"
options=["all", "?", "+-", "+", "-"] options=["all", "?", "+-", "+", "-"]
default=form.status %] default=form.status %]
</td> </td>
--> -->
</tr> </tr>
<tr> <tr>
<th>Requestee:</th> <th>Requestee:</th>
...@@ -81,18 +83,18 @@ ...@@ -81,18 +83,18 @@
<select name="component"> <select name="component">
<option value="">Any</option> <option value="">Any</option>
[% FOREACH item = components %] [% FOREACH item = components %]
<option value="[% item FILTER html %]" [% "selected" IF form.component == item %]> <option value="[% item FILTER html %]" [% "selected" IF form.component == item %]>
[% item FILTER html %]</option> [% item FILTER html %]</option>
[% END %] [% END %]
</select> </select>
</td> </td>
<th>Group By:</th> <th>Group By:</th>
<td> <td>
[% groups = { [% groups = {
"Requester" => 'requester' , "Requester" => 'requester' ,
"Requestee" => 'requestee', "Requestee" => 'requestee',
"Flag" => 'type' , "Flag" => 'type' ,
"Product/Component" => 'category' "Product/Component" => 'category'
} %] } %]
[% PROCESS "global/select-menu.html.tmpl" name="group" options=groups default=form.group %] [% PROCESS "global/select-menu.html.tmpl" name="group" options=groups default=form.group %]
</td> </td>
...@@ -103,14 +105,14 @@ ...@@ -103,14 +105,14 @@
</form> </form>
[% END %] [% END %]
[% column_headers = { [% column_headers = {
"type" => "Flag" , "type" => "Flag" ,
"status" => "Status" , "status" => "Status" ,
"bug" => "Bug" , "bug" => "$terms.Bug" ,
"attachment" => "Attachment" , "attachment" => "Attachment" ,
"requester" => "Requester" , "requester" => "Requester" ,
"requestee" => "Requestee" , "requestee" => "Requestee" ,
"created" => "Created" , "created" => "Created" ,
"category" => "Product/Component" } %] "category" => "Product/Component" } %]
[% DEFAULT display_columns = ["requester", "requestee", "type", "bug", "attachment", "created"] [% DEFAULT display_columns = ["requester", "requestee", "type", "bug", "attachment", "created"]
...@@ -119,7 +121,7 @@ ...@@ -119,7 +121,7 @@
%] %]
[% PROCESS global/header.html.tmpl [% PROCESS global/header.html.tmpl
title="Request Queue" title="Request Queue"
h2=filter_form h2=filter_form
style = " style = "
......
...@@ -20,7 +20,9 @@ ...@@ -20,7 +20,9 @@
# Christian Reis <kiko@async.com.br> [javascript rewrite] # Christian Reis <kiko@async.com.br> [javascript rewrite]
# Gervase Markham <gerv@gerv.net> # Gervase Markham <gerv@gerv.net>
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[%# Note: use Template comments and not JS ones here, to avoid bloating [%# Note: use Template comments and not JS ones here, to avoid bloating
what we actually send to the browser %] what we actually send to the browser %]
...@@ -35,17 +37,17 @@ var vers = new Array(); ...@@ -35,17 +37,17 @@ var vers = new Array();
var tms = new Array(); var tms = new Array();
[% END %] [% END %]
[%# Create three arrays of components, versions and target milestones, indexed [%# Create three arrays of components, versions and target milestones, indexed
# numerically according to the product they refer to. #%] # numerically according to the product they refer to. #%]
[% n = 0 %] [% n = 0 %]
[% FOREACH p = product %] [% FOREACH p = product %]
cpts[[% n %]] = [ cpts[[% n %]] = [
[%- FOREACH item = p.components %]'[% item FILTER js %]'[% ", " UNLESS loop.last %] [%- END -%] ]; [%- FOREACH item = p.components %]'[% item FILTER js %]'[% ", " UNLESS loop.last %] [%- END -%] ];
vers[[% n %]] = [ vers[[% n %]] = [
[%- FOREACH item = p.versions -%]'[% item FILTER js %]'[% ", " UNLESS loop.last %] [%- END -%] ]; [%- FOREACH item = p.versions -%]'[% item FILTER js %]'[% ", " UNLESS loop.last %] [%- END -%] ];
[% IF Param('usetargetmilestone') %] [% IF Param('usetargetmilestone') %]
tms[[% n %]] = [ tms[[% n %]] = [
[%- FOREACH item = p.milestones %]'[% item FILTER js %]'[% ", " UNLESS loop.last %] [%- END -%] ]; [%- FOREACH item = p.milestones %]'[% item FILTER js %]'[% ", " UNLESS loop.last %] [%- END -%] ];
[% END %] [% END %]
[% n = n+1 %] [% n = n+1 %]
...@@ -57,7 +59,7 @@ var tms = new Array(); ...@@ -57,7 +59,7 @@ var tms = new Array();
# correspond to the elements selected in source. # correspond to the elements selected in source.
# - array should be a array of arrays, indexed by number. the # - array should be a array of arrays, indexed by number. the
# array should contain the elements that correspond to that # array should contain the elements that correspond to that
# product. # product.
# - sel is a list of selected items, either whole or a diff # - sel is a list of selected items, either whole or a diff
# depending on merging. # depending on merging.
# - target should be the target select object. # - target should be the target select object.
...@@ -78,7 +80,7 @@ var tms = new Array(); ...@@ -78,7 +80,7 @@ var tms = new Array();
%] %]
function updateSelect(array, sel, target, merging) { function updateSelect(array, sel, target, merging) {
var i, item; var i, item;
[%# If we have no versions/components/milestones %] [%# If we have no versions/components/milestones %]
...@@ -119,7 +121,7 @@ function updateSelect(array, sel, target, merging) { ...@@ -119,7 +121,7 @@ function updateSelect(array, sel, target, merging) {
return true; return true;
} }
[%# Returns elements in a that are not in b. [%# Returns elements in a that are not in b.
# NOT A REAL DIFF: does not check the reverse. # NOT A REAL DIFF: does not check the reverse.
# - a,b: arrays of values to be compare. %] # - a,b: arrays of values to be compare. %]
function fake_diff_array(a, b) { function fake_diff_array(a, b) {
...@@ -203,7 +205,7 @@ function merge_arrays(a, b, b_is_select) { ...@@ -203,7 +205,7 @@ function merge_arrays(a, b, b_is_select) {
[%# Returns an array of indexes or values from a select form control. [%# Returns an array of indexes or values from a select form control.
# - control: select control from which to find selections # - control: select control from which to find selections
# - findall: boolean, store all options when true or just the selected # - findall: boolean, store all options when true or just the selected
# indexes # indexes
# - want_values: boolean; we store values when true and indexes when # - want_values: boolean; we store values when true and indexes when
# false %] # false %]
...@@ -263,7 +265,7 @@ function selectProduct(f) { ...@@ -263,7 +265,7 @@ function selectProduct(f) {
first_load = false; first_load = false;
return; return;
} }
[%# turn first_load off. this is tricky, since it seems to be [%# turn first_load off. this is tricky, since it seems to be
redundant with the above clause. It's not: if when we first load redundant with the above clause. It's not: if when we first load
the page there is _one_ element selected, it won't fall into that the page there is _one_ element selected, it won't fall into that
...@@ -273,7 +275,7 @@ function selectProduct(f) { ...@@ -273,7 +275,7 @@ function selectProduct(f) {
without merge/sorting. %] without merge/sorting. %]
first_load = false; first_load = false;
[%# - sel keeps the array of products we are selected. [%# - sel keeps the array of products we are selected.
- merging says if it is a full list or just a list of products that - merging says if it is a full list or just a list of products that
were added to the current selection. %] were added to the current selection. %]
var merging = false; var merging = false;
...@@ -285,10 +287,10 @@ function selectProduct(f) { ...@@ -285,10 +287,10 @@ function selectProduct(f) {
if (!findall) { if (!findall) {
[%# save sel for the next invocation of selectProduct() %] [%# save sel for the next invocation of selectProduct() %]
var tmp = sel; var tmp = sel;
[%# this is an optimization: if we have just added products to an [%# this is an optimization: if we have just added products to an
existing selection, no need to clear the form controls and add existing selection, no need to clear the form controls and add
everybody again; just merge the new ones with the existing everybody again; just merge the new ones with the existing
options. %] options. %]
if ((last_sel.length > 0) && (last_sel.length < sel.length)) { if ((last_sel.length > 0) && (last_sel.length < sel.length)) {
sel = fake_diff_array(sel, last_sel); sel = fake_diff_array(sel, last_sel);
...@@ -317,7 +319,7 @@ function selectProduct(f) { ...@@ -317,7 +319,7 @@ function selectProduct(f) {
// --> // -->
</script> </script>
[% query_variants = [ [% query_variants = [
{ value => "allwordssubstr", description => "contains all of the words/strings" }, { value => "allwordssubstr", description => "contains all of the words/strings" },
{ value => "anywordssubstr", description => "contains any of the words/strings" }, { value => "anywordssubstr", description => "contains any of the words/strings" },
{ value => "substring", description => "contains the string" }, { value => "substring", description => "contains the string" },
...@@ -342,7 +344,7 @@ function selectProduct(f) { ...@@ -342,7 +344,7 @@ function selectProduct(f) {
[% FOREACH qv = query_variants %] [% FOREACH qv = query_variants %]
<option value="[% qv.value %]" <option value="[% qv.value %]"
[% " selected" IF default.short_desc_type.0 == qv.value %]>[% qv.description %]</option> [% " selected" IF default.short_desc_type.0 == qv.value %]>[% qv.description %]</option>
[% END %] [% END %]
</select> </select>
</td> </td>
<td> <td>
...@@ -352,7 +354,7 @@ function selectProduct(f) { ...@@ -352,7 +354,7 @@ function selectProduct(f) {
<td> <td>
<input type="submit" value="[% button_name %]"> <input type="submit" value="[% button_name %]">
</td> </td>
</tr> </tr>
[%# *** Product Component Version Target *** %] [%# *** Product Component Version Target *** %]
...@@ -394,7 +396,7 @@ function selectProduct(f) { ...@@ -394,7 +396,7 @@ function selectProduct(f) {
reserved word - we use 'component_' instead. %] reserved word - we use 'component_' instead. %]
<td align="left"> <td align="left">
<label for="component" accesskey="m"> <label for="component" accesskey="m">
<select name="component" id="component" <select name="component" id="component"
multiple="multiple" size="5"> multiple="multiple" size="5">
[% FOREACH c = component_ %] [% FOREACH c = component_ %]
<option value="[% c FILTER html %]" <option value="[% c FILTER html %]"
...@@ -413,8 +415,8 @@ function selectProduct(f) { ...@@ -413,8 +415,8 @@ function selectProduct(f) {
<th align="left"><u>V</u>ersion:</th> <th align="left"><u>V</u>ersion:</th>
</tr> </tr>
<tr valign="top"> <tr valign="top">
[% PROCESS select sel = { name => 'version', [% PROCESS select sel = { name => 'version',
size => 5, size => 5,
accesskey => 'v' } %] accesskey => 'v' } %]
</tr> </tr>
</table> </table>
...@@ -426,7 +428,7 @@ function selectProduct(f) { ...@@ -426,7 +428,7 @@ function selectProduct(f) {
<th align="left"><u>T</u>arget:</th> <th align="left"><u>T</u>arget:</th>
</tr> </tr>
<tr valign="top"> <tr valign="top">
[% PROCESS select sel = { name => 'target_milestone', [% PROCESS select sel = { name => 'target_milestone',
size => 5, size => 5,
accesskey => 't' } %] accesskey => 't' } %]
</tr> </tr>
...@@ -437,15 +439,15 @@ function selectProduct(f) { ...@@ -437,15 +439,15 @@ function selectProduct(f) {
</table> </table>
</td> </td>
</tr> </tr>
[%# *** Comment URL Whiteboard Keywords *** %] [%# *** Comment URL Whiteboard Keywords *** %]
[% FOREACH field = [ [% FOREACH field = [
{ name => "long_desc", description => "A&nbsp;<u>C</u>omment", { name => "long_desc", description => "A&nbsp;<u>C</u>omment",
accesskey => 'c' }, accesskey => 'c' },
{ name => "bug_file_loc", description => "The&nbsp;<u>U</u>RL", { name => "bug_file_loc", description => "The&nbsp;<u>U</u>RL",
accesskey => 'u' }, accesskey => 'u' },
{ name => "status_whiteboard", description => "<u>W</u>hiteboard", { name => "status_whiteboard", description => "<u>W</u>hiteboard",
accesskey => 'w' } ] %] accesskey => 'w' } ] %]
[% UNLESS field.name == 'status_whiteboard' AND NOT Param('usestatuswhiteboard') %] [% UNLESS field.name == 'status_whiteboard' AND NOT Param('usestatuswhiteboard') %]
...@@ -454,10 +456,10 @@ function selectProduct(f) { ...@@ -454,10 +456,10 @@ function selectProduct(f) {
<td> <td>
<select name="[% field.name %]_type"> <select name="[% field.name %]_type">
[% FOREACH qv = query_variants %] [% FOREACH qv = query_variants %]
[% type = "${field.name}_type" %] [% type = "${field.name}_type" %]
<option value="[% qv.value %]" <option value="[% qv.value %]"
[% " selected" IF default.$type.0 == qv.value %]>[% qv.description %]</option> [% " selected" IF default.$type.0 == qv.value %]>[% qv.description %]</option>
[% END %] [% END %]
</select> </select>
</td> </td>
<td><input name="[% field.name %]" size="40" <td><input name="[% field.name %]" size="40"
...@@ -465,7 +467,7 @@ function selectProduct(f) { ...@@ -465,7 +467,7 @@ function selectProduct(f) {
value="[% default.${field.name}.0 FILTER html %]"> value="[% default.${field.name}.0 FILTER html %]">
</td> </td>
<td></td> <td></td>
</tr> </tr>
[% END %] [% END %]
[% END %] [% END %]
...@@ -476,7 +478,7 @@ function selectProduct(f) { ...@@ -476,7 +478,7 @@ function selectProduct(f) {
</th> </th>
<td> <td>
<select name="keywords_type"> <select name="keywords_type">
[% FOREACH qv = [ [% FOREACH qv = [
{ name => "allwords", description => "contains all of the keywords" }, { name => "allwords", description => "contains all of the keywords" },
{ name => "anywords", description => "contains any of the keywords" }, { name => "anywords", description => "contains any of the keywords" },
{ name => "nowords", description => "contains none of the keywords" } ] %] { name => "nowords", description => "contains none of the keywords" } ] %]
...@@ -493,7 +495,7 @@ function selectProduct(f) { ...@@ -493,7 +495,7 @@ function selectProduct(f) {
</td> </td>
</tr> </tr>
[% END %] [% END %]
</table> </table>
<hr> <hr>
...@@ -507,7 +509,7 @@ function selectProduct(f) { ...@@ -507,7 +509,7 @@ function selectProduct(f) {
<th align="left"><a href="queryhelp.cgi#status">St<u>a</u>tus</a>:</th> <th align="left"><a href="queryhelp.cgi#status">St<u>a</u>tus</a>:</th>
</tr> </tr>
<tr valign="top"> <tr valign="top">
[% PROCESS select sel = { name => 'bug_status', [% PROCESS select sel = { name => 'bug_status',
size => 7, size => 7,
accesskey => 'a' } %] accesskey => 'a' } %]
</tr> </tr>
...@@ -521,7 +523,7 @@ function selectProduct(f) { ...@@ -521,7 +523,7 @@ function selectProduct(f) {
</th> </th>
</tr> </tr>
<tr valign="top"> <tr valign="top">
[% PROCESS select sel = { name => 'resolution', [% PROCESS select sel = { name => 'resolution',
size => 7, size => 7,
accesskey => 'r' } %] accesskey => 'r' } %]
</tr> </tr>
...@@ -533,9 +535,9 @@ function selectProduct(f) { ...@@ -533,9 +535,9 @@ function selectProduct(f) {
<th align="left"><a href="queryhelp.cgi#severity">S<u>e</u>verity</a>:</th> <th align="left"><a href="queryhelp.cgi#severity">S<u>e</u>verity</a>:</th>
</tr> </tr>
<tr valign="top"> <tr valign="top">
[% PROCESS select sel = { name => 'bug_severity', [% PROCESS select sel = { name => 'bug_severity',
size => 7, size => 7,
accesskey => 'e' } %] accesskey => 'e' } %]
</tr> </tr>
</table> </table>
</td> </td>
...@@ -545,9 +547,9 @@ function selectProduct(f) { ...@@ -545,9 +547,9 @@ function selectProduct(f) {
<th align="left"><a href="queryhelp.cgi#priority">Pr<u>i</u>ority</a>:</th> <th align="left"><a href="queryhelp.cgi#priority">Pr<u>i</u>ority</a>:</th>
</tr> </tr>
<tr valign="top"> <tr valign="top">
[% PROCESS select sel = { name => 'priority', [% PROCESS select sel = { name => 'priority',
size => 7, size => 7,
accesskey => 'i' } %] accesskey => 'i' } %]
</tr> </tr>
</table> </table>
</td> </td>
...@@ -557,7 +559,7 @@ function selectProduct(f) { ...@@ -557,7 +559,7 @@ function selectProduct(f) {
<th align="left"><a href="queryhelp.cgi#platform"><u>H</u>ardware</a>:</th> <th align="left"><a href="queryhelp.cgi#platform"><u>H</u>ardware</a>:</th>
</tr> </tr>
<tr valign="top"> <tr valign="top">
[% PROCESS select sel = { name => 'rep_platform', [% PROCESS select sel = { name => 'rep_platform',
size => 7, size => 7,
accesskey => 'h' } %] accesskey => 'h' } %]
</tr> </tr>
...@@ -569,8 +571,8 @@ function selectProduct(f) { ...@@ -569,8 +571,8 @@ function selectProduct(f) {
<th align="left"><a href="queryhelp.cgi#opsys"><u>O</u>S</a>:</th> <th align="left"><a href="queryhelp.cgi#opsys"><u>O</u>S</a>:</th>
</tr> </tr>
<tr valign="top"> <tr valign="top">
[% PROCESS select sel = { name => 'op_sys', [% PROCESS select sel = { name => 'op_sys',
size => 7, size => 7,
accesskey => 'o' } %] accesskey => 'o' } %]
</tr> </tr>
</table> </table>
...@@ -589,7 +591,7 @@ function selectProduct(f) { ...@@ -589,7 +591,7 @@ function selectProduct(f) {
<legend> <legend>
<strong> <strong>
<a href="queryhelp.cgi#peopleinvolved">Email</a> and Numbering <a href="queryhelp.cgi#peopleinvolved">Email</a> and Numbering
</strong> </strong>
</legend> </legend>
...@@ -607,17 +609,17 @@ function selectProduct(f) { ...@@ -607,17 +609,17 @@ function selectProduct(f) {
</tr> </tr>
<tr> <tr>
<td> <td>
<input type="checkbox" name="emailassigned_to[% n %]" <input type="checkbox" name="emailassigned_to[% n %]"
id="emailassigned_to[% n %]" value="1" id="emailassigned_to[% n %]" value="1"
[% " checked" IF default.emailassigned_to.$n %]> [% " checked" IF default.emailassigned_to.$n %]>
<label for="emailassigned_to[% n %]"> <label for="emailassigned_to[% n %]">
bug owner [% terms.bug %] owner
</label> </label>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<input type="checkbox" name="emailreporter[% n %]" <input type="checkbox" name="emailreporter[% n %]"
id="emailreporter[% n %]" value="1" id="emailreporter[% n %]" value="1"
[% " checked" IF default.emailreporter.$n %]> [% " checked" IF default.emailreporter.$n %]>
<label for="emailreporter[% n %]"> <label for="emailreporter[% n %]">
...@@ -628,7 +630,7 @@ function selectProduct(f) { ...@@ -628,7 +630,7 @@ function selectProduct(f) {
[% IF Param('useqacontact') %] [% IF Param('useqacontact') %]
<tr> <tr>
<td> <td>
<input type="checkbox" name="emailqa_contact[% n %]" <input type="checkbox" name="emailqa_contact[% n %]"
id="emailqa_contact[% n %]" value="1" id="emailqa_contact[% n %]" value="1"
[% " checked" IF default.emailqa_contact.$n %]> [% " checked" IF default.emailqa_contact.$n %]>
<label for="emailqa_contact[% n %]"> <label for="emailqa_contact[% n %]">
...@@ -639,7 +641,7 @@ function selectProduct(f) { ...@@ -639,7 +641,7 @@ function selectProduct(f) {
[% END %] [% END %]
<tr> <tr>
<td> <td>
<input type="checkbox" name="emailcc[% n %]" <input type="checkbox" name="emailcc[% n %]"
id="emailcc[% n %]" value="1" id="emailcc[% n %]" value="1"
[% " checked" IF default.emailcc.$n %]> [% " checked" IF default.emailcc.$n %]>
<label for="emailcc[% n %]"> <label for="emailcc[% n %]">
...@@ -649,7 +651,7 @@ function selectProduct(f) { ...@@ -649,7 +651,7 @@ function selectProduct(f) {
</tr> </tr>
<tr> <tr>
<td> <td>
<input type="checkbox" name="emaillongdesc[% n %]" <input type="checkbox" name="emaillongdesc[% n %]"
id="emaillongdesc[% n %]" value="1" id="emaillongdesc[% n %]" value="1"
[% " checked" IF default.emaillongdesc.$n %]> [% " checked" IF default.emaillongdesc.$n %]>
<label for="emaillongdesc[% n %]"> <label for="emaillongdesc[% n %]">
...@@ -660,12 +662,12 @@ function selectProduct(f) { ...@@ -660,12 +662,12 @@ function selectProduct(f) {
<tr> <tr>
<td> <td>
<select name="emailtype[% n %]"> <select name="emailtype[% n %]">
[% FOREACH qv = [ [% FOREACH qv = [
{ name => "substring", description => "contains" }, { name => "substring", description => "contains" },
{ name => "exact", description => "is" }, { name => "exact", description => "is" },
{ name => "regexp", description => "matches regexp" }, { name => "regexp", description => "matches regexp" },
{ name => "notregexp", description => "doesn't match regexp" } ] %] { name => "notregexp", description => "doesn't match regexp" } ] %]
<option value="[% qv.name %]" <option value="[% qv.name %]"
[% " selected" IF default.emailtype.$n == qv.name %]>[% qv.description %]</option> [% " selected" IF default.emailtype.$n == qv.name %]>[% qv.description %]</option>
[% END %] [% END %]
...@@ -679,20 +681,20 @@ function selectProduct(f) { ...@@ -679,20 +681,20 @@ function selectProduct(f) {
</tr> </tr>
</table> </table>
</td> </td>
[% END %] [% END %]
</tr> </tr>
</table> </table>
<hr> <hr>
<table> <table>
<tr> <tr>
<td> <td>
<select name="bugidtype"> <select name="bugidtype">
<option value="include"[% " selected" IF default.bugidtype.0 == "include" %]>Only include</option> <option value="include"[% " selected" IF default.bugidtype.0 == "include" %]>Only include</option>
<option value="exclude"[% " selected" IF default.bugidtype.0 == "exclude" %]>Exclude</option> <option value="exclude"[% " selected" IF default.bugidtype.0 == "exclude" %]>Exclude</option>
</select> </select>
bugs numbered: [% terms.bugs %] numbered:
</td> </td>
<td> <td>
<input type="text" name="bug_id" value="[% default.bug_id.0 FILTER html %]" size="20"> <input type="text" name="bug_id" value="[% default.bug_id.0 FILTER html %]" size="20">
...@@ -705,7 +707,7 @@ function selectProduct(f) { ...@@ -705,7 +707,7 @@ function selectProduct(f) {
[% IF Param('usevotes') %] [% IF Param('usevotes') %]
<tr> <tr>
<td align="right"> <td align="right">
Only bugs with at least: Only [% terms.bugs %] with at least:
</td> </td>
<td> <td>
<input name="votes" size="3" value="[% default.votes.0 FILTER html %]"> votes <input name="votes" size="3" value="[% default.votes.0 FILTER html %]"> votes
...@@ -722,11 +724,11 @@ function selectProduct(f) { ...@@ -722,11 +724,11 @@ function selectProduct(f) {
<td valign="top"> <td valign="top">
<fieldset> <fieldset>
<legend><strong>Bug Changes</strong></legend> <legend><strong>[% terms.Bug %] Changes</strong></legend>
<dl> <dl>
<dt>Only bugs changed between:</dt> <dt>Only [% terms.bugs %] changed between:</dt>
<dd> <dd>
<input name="chfieldfrom" size="10" value="[% default.chfieldfrom.0 FILTER html %]"> <input name="chfieldfrom" size="10" value="[% default.chfieldfrom.0 FILTER html %]">
and <input name="chfieldto" size="10" value="[% default.chfieldto.0 FILTER html %]"> and <input name="chfieldto" size="10" value="[% default.chfieldto.0 FILTER html %]">
......
...@@ -21,10 +21,12 @@ ...@@ -21,10 +21,12 @@
# Jouni Heikniemi <jouni@heikniemi.net> # Jouni Heikniemi <jouni@heikniemi.net>
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[%# This is not necessary for English templates, but useful for localisers. %] [%# This is not necessary for English templates, but useful for localisers. %]
[% ordersdesc = { [% ordersdesc = {
"Reuse same sort as last time" => "Reuse same sort as last time", "Reuse same sort as last time" => "Reuse same sort as last time",
"Bug Number" => "Bug Number", "Bug Number" => "$terms.Bug Number",
"Importance" => "Importance", "Importance" => "Importance",
"Assignee" => "Assignee", "Assignee" => "Assignee",
"Last Changed" => "Last Changed" } %] "Last Changed" => "Last Changed" } %]
...@@ -81,7 +83,7 @@ ...@@ -81,7 +83,7 @@
[% IF namedqueries.size > 0 %] [% IF namedqueries.size > 0 %]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
[% END %] [% END %]
<input type="checkbox" id="remember" name="remember" value="1" <input type="checkbox" id="remember" name="remember" value="1"
onclick="remCheckboxChanged()"> onclick="remCheckboxChanged()">
[% IF namedqueries.size > 0 %] [% IF namedqueries.size > 0 %]
<label for="remember">and remember it</label> <label for="remember">and remember it</label>
...@@ -108,7 +110,7 @@ ...@@ -108,7 +110,7 @@
</label><br> </label><br>
</td> </td>
</tr> </tr>
<tr> <tr>
<td colspan="2"> <td colspan="2">
[% IF namedqueries.size > 0 %] [% IF namedqueries.size > 0 %]
...@@ -124,12 +126,12 @@ ...@@ -124,12 +126,12 @@
<option value="[% query FILTER html %]"> <option value="[% query FILTER html %]">
[% query FILTER html %]</option> [% query FILTER html %]</option>
[% END %] [% END %]
</select> </select>
[% END %] [% END %]
</td> </td>
</tr> </tr>
</table> </table>
<script type="text/javascript"> <!-- <script type="text/javascript"> <!--
remCheckboxChanged(); remCheckboxChanged();
// --> // -->
...@@ -142,12 +144,12 @@ ...@@ -142,12 +144,12 @@
[% FOREACH order = orders %] [% FOREACH order = orders %]
<option value="[% order FILTER html %]" <option value="[% order FILTER html %]"
[% " selected" IF default.order.0 == order %]> [% " selected" IF default.order.0 == order %]>
[% ordersdesc.$order FILTER html %]</option> [% ordersdesc.$order FILTER html %]</option>
[% END %] [% END %]
</select> </select>
<input type="submit" value="[% button_name %]"> <input type="submit" value="[% button_name %]">
[% IF userdefaultquery %] [% IF userdefaultquery %]
<p> <p>
<a href="query.cgi?nukedefaultquery=1"> <a href="query.cgi?nukedefaultquery=1">
......
...@@ -25,11 +25,13 @@ ...@@ -25,11 +25,13 @@
# search/boolean-charts.html.tmpl. # search/boolean-charts.html.tmpl.
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% USE Bugzilla %] [% USE Bugzilla %]
[% cgi = Bugzilla.cgi %] [% cgi = Bugzilla.cgi %]
[% PROCESS global/header.html.tmpl [% PROCESS global/header.html.tmpl
title = "Search for bugs" title = "Search for $terms.bugs"
onload = "selectProduct(document.forms['queryform']);initHelp();" onload = "selectProduct(document.forms['queryform']);initHelp();"
%] %]
...@@ -56,13 +58,13 @@ ...@@ -56,13 +58,13 @@
<font color="red"> <font color="red">
[% IF cgi.user_agent("Mozilla/5") %] [% IF cgi.user_agent("Mozilla/5") %]
Note that if the help popups are hidden by form element scroll bars, Note that if the help popups are hidden by form element scroll bars,
this is a bug in your browser, not in Bugzilla. this is a bug in your browser, not in [% terms.Bugzilla %].
[% END %] [% END %]
</font> </font>
</p> </p>
[% END %] [% END %]
<form method="get" action="buglist.cgi" name="queryform"> <form method="get" action="buglist.cgi" name="queryform">
[% PROCESS search/form.html.tmpl %] [% PROCESS search/form.html.tmpl %]
[% PROCESS search/knob.html.tmpl %] [% PROCESS search/knob.html.tmpl %]
......
...@@ -23,64 +23,64 @@ ...@@ -23,64 +23,64 @@
{ id => "short_desc_type", { id => "short_desc_type",
html => "The type of summary search you would like" }, html => "The type of summary search you would like" },
{ id => "short_desc", { id => "short_desc",
html => "The bug summary is a short sentence which succinctly describes <br> html => "The $terms.bug summary is a short sentence which succinctly
what the bug is about." }, describes <br> what the $terms.bug is about." },
{ id => "product", { id => "product",
html => "Bugs are categorised into Products and Components. Product is the<br> html => "$terms.Bugs are categorised into Products and Components. Product is
top-level categorisation." }, the<br>top-level categorisation." },
{ id => "component", { id => "component",
html => "Components are second-level categories; each belongs to a<br> html => "Components are second-level categories; each belongs to a<br>
particular Product. Select a Product to narrow down this list." }, particular Product. Select a Product to narrow down this list." },
{ id => "version", { id => "version",
html => "The version field defines the version of the software the bug<br> html => "The version field defines the version of the software the
was found in." }, $terms.bug<br>was found in." },
{ id => "target_milestone", { id => "target_milestone",
html => "The target_milestone field is used to define when the engineer<br> html => "The target_milestone field is used to define when the engineer<br>
the bug is assigned to expects to fix it." }, the $terms.bug is assigned to expects to fix it." },
{ id => "long_desc", { id => "long_desc",
html => "Bugs have comments added to them by Bugzilla users. You can<br> html => "$terms.Bugs have comments added to them by $terms.Bugzilla users.
search for some text in those comments." }, You can<br>search for some text in those comments." },
{ id => "long_desc_type", { id => "long_desc_type",
html => "The type of comment search you would like" }, html => "The type of comment search you would like" },
{ id => "bug_file_loc", { id => "bug_file_loc",
html => "Bugs can have a URL associated with them - for example, a pointer<br> html => "$terms.Bugs can have a URL associated with them - for example, a
to a web site where the problem is seen." }, pointer<br>to a web site where the problem is seen." },
{ id => "bug_file_loc_type", { id => "bug_file_loc_type",
html => "The type of URL search you would like" }, html => "The type of URL search you would like" },
{ id => "status_whiteboard", { id => "status_whiteboard",
html => "Each bug has a free-form single line text entry box for adding<br> html => "Each $terms.bug has a free-form single line text entry box for
tags and status information." }, adding<br>tags and status information." },
{ id => "status_whiteboard_type", { id => "status_whiteboard_type",
html => "The type of whiteboard search you would like" }, html => "The type of whiteboard search you would like" },
{ id => "keywords", { id => "keywords",
html => "You can add keywords from a defined list to bugs, in order to<br> html => "You can add keywords from a defined list to $terms.bugs, in order
tag and group them." }, to<br>tag and group them." },
{ id => "keywords_type", { id => "keywords_type",
html => "The type of keyword search you would like" }, html => "The type of keyword search you would like" },
{ id => "bug_status", { id => "bug_status",
html => "A bug may be in any of a number of states." }, html => "A $terms.bug may be in any of a number of states." },
{ id => "resolution", { id => "resolution",
html => "If a bug is in a resolved state, then one of these reasons will<br> html => "If a $terms.bug is in a resolved state, then one of these reasons
be given for its resolution." }, will<br>be given for its resolution." },
{ id => "bug_severity", { id => "bug_severity",
html => "How severe the bug is, or whether it's an enhancement." }, html => "How severe the $terms.bug is, or whether it's an enhancement." },
{ id => "priority", { id => "priority",
html => "Engineers prioritise their bugs using this field." }, html => "Engineers prioritise their $terms.bugs using this field." },
{ id => "rep_platform", { id => "rep_platform",
html => "The hardware platform the bug was observed on." }, html => "The hardware platform the $terms.bug was observed on." },
{ id => "op_sys", { id => "op_sys",
html => "The operating system the bug was observed on." }, html => "The operating system the $terms.bug was observed on." },
{ id => "email1", { id => "email1",
html => "Every bug has people associated with it in different roles.<br> html => "Every $terms.bug has people associated with it in different
Here, you can search on what people are in what role." }, roles.<br>Here, you can search on what people are in what role." },
{ id => "email2", { id => "email2",
html => "Every bug has people associated with it in different roles.<br> html => "Every $terms.bug has people associated with it in different
Here, you can search on what people are in what role." }, roles.<br>Here, you can search on what people are in what role." },
{ id => "bug_id", { id => "bug_id",
html => "You can limit your search to a specific set of bugs." }, html => "You can limit your search to a specific set of $terms.bugs ." },
{ id => "votes", { id => "votes",
html => "Some bugs can be voted for, and you can limit your search to bugs<br> html => "Some $terms.bugs can be voted for, and you can limit your search to
with more than a certain number of votes." }, $terms.bugs<br>with more than a certain number of votes." },
{ id => "chfield", { id => "chfield",
html => "You can search for specific types of change - this field define <br> html => "You can search for specific types of change - this field define <br>
which field you are interested in changes for." }, which field you are interested in changes for." },
......
...@@ -24,7 +24,9 @@ ...@@ -24,7 +24,9 @@
# the interfaces of the templates it contains. # the interfaces of the templates it contains.
#%] #%]
[% PROCESS global/header.html.tmpl [% PROCESS global/variables.none.tmpl %]
[% PROCESS global/header.html.tmpl
title = "Generate Report" title = "Generate Report"
onload = "selectProduct(document.forms['reportform']);" onload = "selectProduct(document.forms['reportform']);"
%] %]
...@@ -32,8 +34,8 @@ ...@@ -32,8 +34,8 @@
[% PROCESS "search/search-report-select.html.tmpl" %] [% PROCESS "search/search-report-select.html.tmpl" %]
<p> <p>
Produce a pictorial graph of bug counts by choosing one or more fields as Produce a pictorial graph of [% terms.bug %] counts by choosing one or more fields as
your axes, and then refining your set of bugs using the rest of the form. your axes, and then refining your set of [% terms.bugs %] using the rest of the form.
If you choose a third axis, it will be represented by multiple tables of data. If you choose a third axis, it will be represented by multiple tables of data.
Note: vertical axis settings will be ignored for pie charts. Note: vertical axis settings will be ignored for pie charts.
</p> </p>
...@@ -55,7 +57,7 @@ ...@@ -55,7 +57,7 @@
<input type="radio" name="cumulate" value="1" <input type="radio" name="cumulate" value="1"
[% " checked" IF default.cumulate.0 == "1" %]> [% " checked" IF default.cumulate.0 == "1" %]>
Added Added
</td> </td>
<td width="150" height="150"> <td width="150" height="150">
<table border="1" width="100%" height="100%"> <table border="1" width="100%" height="100%">
...@@ -74,31 +76,31 @@ ...@@ -74,31 +76,31 @@
{ name => "bar", description => "Bar Chart" }, { name => "bar", description => "Bar Chart" },
{ name => "pie", description => "Pie Chart" } ] %] { name => "pie", description => "Pie Chart" } ] %]
[% default.chart_format.0 = default.chart_format.0 || "bar" %] [% default.chart_format.0 = default.chart_format.0 || "bar" %]
[% FOREACH chart_format = chart_formats %] [% FOREACH chart_format = chart_formats %]
<input type="radio" name="format" <input type="radio" name="format"
value="[% chart_format.name FILTER html %]" value="[% chart_format.name FILTER html %]"
[% " checked" IF default.chart_format.0 == chart_format.name %]> [% " checked" IF default.chart_format.0 == chart_format.name %]>
[% chart_format.description FILTER html %]<br> [% chart_format.description FILTER html %]<br>
[% END %] [% END %]
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
</td> </td>
<td align="left"> <td align="left">
<b>Horizontal Axis:</b> <b>Horizontal Axis:</b>
[% PROCESS select name = 'x_axis_field' %]<br> [% PROCESS select name = 'x_axis_field' %]<br>
<label for="x_labels_vertical"><b>Vertical labels:</b></label> <label for="x_labels_vertical"><b>Vertical labels:</b></label>
<input type="checkbox" name="x_labels_vertical" id="x_labels_vertical" <input type="checkbox" name="x_labels_vertical" id="x_labels_vertical"
value="1" value="1"
[% " checked" IF default.x_labels_vertical.0 == "1" %]> [% " checked" IF default.x_labels_vertical.0 == "1" %]>
</td> </td>
<td> <td>
</td> </td>
</tr> </tr>
</table> </table>
<hr> <hr>
......
...@@ -24,7 +24,9 @@ ...@@ -24,7 +24,9 @@
# the interfaces of the templates it contains. # the interfaces of the templates it contains.
#%] #%]
[% PROCESS global/header.html.tmpl [% PROCESS global/variables.none.tmpl %]
[% PROCESS global/header.html.tmpl
title = "Generate Report" title = "Generate Report"
onload = "selectProduct(document.forms['reportform']);" onload = "selectProduct(document.forms['reportform']);"
%] %]
...@@ -32,8 +34,8 @@ ...@@ -32,8 +34,8 @@
[% PROCESS "search/search-report-select.html.tmpl" %] [% PROCESS "search/search-report-select.html.tmpl" %]
<p> <p>
Produce a table of bug counts by choosing one or more fields as your axes, Produce a table of [% terms.bug %] counts by choosing one or more fields as your axes,
and then refining your set of bugs using the rest of the form. and then refining your set of [% terms.bugs %] using the rest of the form.
If you choose a third axis, it will be represented by multiple tables of data. If you choose a third axis, it will be represented by multiple tables of data.
</p> </p>
...@@ -56,7 +58,7 @@ ...@@ -56,7 +58,7 @@
<input type="radio" name="ctype" value="csv">CSV <input type="radio" name="ctype" value="csv">CSV
</td> </td>
</tr> </tr>
<tr> <tr>
<td valign="middle" align="center"> <td valign="middle" align="center">
<b>Vertical Axis:</b><br> <b>Vertical Axis:</b><br>
...@@ -73,7 +75,7 @@ ...@@ -73,7 +75,7 @@
</table> </table>
</td> </td>
</tr> </tr>
</table> </table>
<hr> <hr>
......
...@@ -25,11 +25,13 @@ ...@@ -25,11 +25,13 @@
# search/boolean-charts.html.tmpl. # search/boolean-charts.html.tmpl.
#%] #%]
[% PROCESS global/variables.none.tmpl %]
[% USE Bugzilla %] [% USE Bugzilla %]
[% cgi = Bugzilla.cgi %] [% cgi = Bugzilla.cgi %]
[% PROCESS global/header.html.tmpl [% PROCESS global/header.html.tmpl
title = "Search for bugs" title = "Search for $terms.bugs"
onload = "selectProduct(document.forms['queryform']);initHelp();" onload = "selectProduct(document.forms['queryform']);initHelp();"
%] %]
...@@ -56,13 +58,13 @@ ...@@ -56,13 +58,13 @@
<font color="red"> <font color="red">
[% IF cgi.user_agent("Mozilla/5") %] [% IF cgi.user_agent("Mozilla/5") %]
Note that if the help popups are hidden by form element scroll bars, Note that if the help popups are hidden by form element scroll bars,
this is a bug in your browser, not in Bugzilla. this is a bug in your browser, not in [% terms.Bugzilla %].
[% END %] [% END %]
</font> </font>
</p> </p>
[% END %] [% END %]
<form method="get" action="buglist.cgi" name="queryform"> <form method="get" action="buglist.cgi" name="queryform">
[% PROCESS search/form.html.tmpl %] [% PROCESS search/form.html.tmpl %]
[% PROCESS search/knob.html.tmpl %] [% PROCESS search/knob.html.tmpl %]
......
...@@ -21,6 +21,9 @@ ...@@ -21,6 +21,9 @@
# Scott Collins <scc@mozilla.org> # Scott Collins <scc@mozilla.org>
# Christopher A. Aillon <christopher@aillon.com> # Christopher A. Aillon <christopher@aillon.com>
#%] #%]
[% PROCESS global/variables.none.tmpl %]
<?xml version="1.0"?> <?xml version="1.0"?>
<!-- [% template_version %] --> <!-- [% template_version %] -->
<?xml-stylesheet href="chrome://communicator/skin/" type="text/css"?> <?xml-stylesheet href="chrome://communicator/skin/" type="text/css"?>
...@@ -69,7 +72,7 @@ function normal_keypress_handler( aEvent ) { ...@@ -69,7 +72,7 @@ function normal_keypress_handler( aEvent ) {
<box orient="vertical" flex="1"> <box orient="vertical" flex="1">
<text class="text-link" onclick="load_relative_url('query.cgi')" value="new query"/> <text class="text-link" onclick="load_relative_url('query.cgi')" value="new query"/>
<text class="text-link" onclick="load_relative_url('report.cgi')" value="reports"/> <text class="text-link" onclick="load_relative_url('report.cgi')" value="reports"/>
<text class="text-link" onclick="load_relative_url('enter_bug.cgi')" value="new bug"/> <text class="text-link" onclick="load_relative_url('enter_bug.cgi')" value="new [% terms.bug %]"/>
<separator class="thin"/> <separator class="thin"/>
[% IF user %] [% IF user %]
...@@ -96,7 +99,7 @@ function normal_keypress_handler( aEvent ) { ...@@ -96,7 +99,7 @@ function normal_keypress_handler( aEvent ) {
<separator class="thin"/> <separator class="thin"/>
[%- IF user.showmybugslink %] [%- IF user.showmybugslink %]
[% filtered_username = user.login FILTER url_quote %] [% filtered_username = user.login FILTER url_quote %]
<text class="text-link" onclick="load_relative_url('[% Param('mybugstemplate').replace('%userid%', filtered_username) FILTER js FILTER html %]')" value="my bugs"/> <text class="text-link" onclick="load_relative_url('[% Param('mybugstemplate').replace('%userid%', filtered_username) FILTER js FILTER html %]')" value="my [% terms.bugs %]"/>
[%- END %] [%- END %]
[%- IF Param('usevotes') %] [%- IF Param('usevotes') %]
<text class="text-link" onclick="load_relative_url('votes.cgi?action=show_user')" value="my votes"/> <text class="text-link" onclick="load_relative_url('votes.cgi?action=show_user')" value="my votes"/>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment