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>
......
...@@ -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>
......
...@@ -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>
[%# 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 = "
......
...@@ -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