summaryrefslogtreecommitdiffstats
path: root/template/en/default/admin
diff options
context:
space:
mode:
authorDexter Morgan <dmorgan@mageia.org>2013-02-20 16:07:49 +0000
committerColin Guthrie <colin@mageia.org>2014-09-15 20:44:40 +0100
commitba702dcd7ac9b2e6c4d46ad21c7bfacfd6883189 (patch)
treeece0d9c9d8fa1eff83f8527397da6b2c8c755dd6 /template/en/default/admin
parent48a4cb57974b7f1932c3fe31825c02e4dc4ab30c (diff)
downloadbugzilla-ba702dcd7ac9b2e6c4d46ad21c7bfacfd6883189.tar
bugzilla-ba702dcd7ac9b2e6c4d46ad21c7bfacfd6883189.tar.gz
bugzilla-ba702dcd7ac9b2e6c4d46ad21c7bfacfd6883189.tar.bz2
bugzilla-ba702dcd7ac9b2e6c4d46ad21c7bfacfd6883189.tar.xz
bugzilla-ba702dcd7ac9b2e6c4d46ad21c7bfacfd6883189.zip
Add 4.0 branch
Diffstat (limited to 'template/en/default/admin')
-rw-r--r--template/en/default/admin/classifications/add.html.tmpl23
-rw-r--r--template/en/default/admin/classifications/edit-common.html.tmpl47
-rw-r--r--template/en/default/admin/classifications/edit.html.tmpl24
-rw-r--r--template/en/default/admin/components/create.html.tmpl64
-rw-r--r--template/en/default/admin/components/edit-common.html.tmpl86
-rw-r--r--template/en/default/admin/components/edit.html.tmpl66
-rw-r--r--template/en/default/admin/custom_fields/cf-js.js.tmpl20
-rw-r--r--template/en/default/admin/custom_fields/create.html.tmpl42
-rw-r--r--template/en/default/admin/custom_fields/edit.html.tmpl47
-rw-r--r--template/en/default/admin/custom_fields/list.html.tmpl4
-rw-r--r--template/en/default/admin/fieldvalues/create.html.tmpl3
-rw-r--r--template/en/default/admin/fieldvalues/edit.html.tmpl11
-rw-r--r--template/en/default/admin/params/advanced.html.tmpl31
-rw-r--r--template/en/default/admin/params/attachment.html.tmpl2
-rw-r--r--template/en/default/admin/params/auth.html.tmpl4
-rw-r--r--template/en/default/admin/params/bugchange.html.tmpl10
-rw-r--r--template/en/default/admin/params/bugfields.html.tmpl5
-rw-r--r--template/en/default/admin/params/common.html.tmpl79
-rw-r--r--template/en/default/admin/params/dependencygraph.html.tmpl4
-rw-r--r--template/en/default/admin/params/editparams.html.tmpl2
-rw-r--r--template/en/default/admin/params/general.html.tmpl2
-rw-r--r--template/en/default/admin/params/index.html.tmpl2
-rw-r--r--template/en/default/admin/params/mta.html.tmpl12
-rw-r--r--template/en/default/admin/params/radius.html.tmpl8
-rw-r--r--template/en/default/admin/params/usermatch.html.tmpl3
-rw-r--r--template/en/default/admin/products/create.html.tmpl9
-rw-r--r--template/en/default/admin/products/edit-common.html.tmpl33
-rw-r--r--template/en/default/admin/products/list-classifications.html.tmpl13
-rw-r--r--template/en/default/admin/products/list.html.tmpl34
-rw-r--r--template/en/default/admin/products/updated.html.tmpl84
-rw-r--r--template/en/default/admin/sanitycheck/messages.html.tmpl60
-rw-r--r--template/en/default/admin/sudo.html.tmpl3
-rw-r--r--template/en/default/admin/table.html.tmpl2
-rw-r--r--template/en/default/admin/users/confirm-delete.html.tmpl23
-rw-r--r--template/en/default/admin/users/responsibilities.html.tmpl4
-rw-r--r--template/en/default/admin/users/userdata.html.tmpl5
36 files changed, 384 insertions, 487 deletions
diff --git a/template/en/default/admin/classifications/add.html.tmpl b/template/en/default/admin/classifications/add.html.tmpl
index cd949f2..1a6941f 100644
--- a/template/en/default/admin/classifications/add.html.tmpl
+++ b/template/en/default/admin/classifications/add.html.tmpl
@@ -24,26 +24,9 @@
<form method=post action="editclassifications.cgi">
<table border=0 cellpadding=4 cellspacing=0>
- <tr>
- <th align="right">Classification:</th>
- <td><input size=64 maxlength=64 name="classification"></td>
- </tr>
- <tr>
- <th align="right">Description:</th>
- <td>
- [% INCLUDE global/textarea.html.tmpl
- name = 'description'
- minrows = 4
- cols = 64
- wrap = 'virtual'
- %]
- </td>
- </tr>
- <tr>
- <th align="right"><label for="sortkey">Sortkey:</label></th>
- <td><input id="sortkey" size="20" maxlength="20" name="sortkey"
- value=""></td>
- </tr>
+
+ [% PROCESS "admin/classifications/edit-common.html.tmpl" %]
+
</table>
<hr>
<input type=submit value="Add">
diff --git a/template/en/default/admin/classifications/edit-common.html.tmpl b/template/en/default/admin/classifications/edit-common.html.tmpl
new file mode 100644
index 0000000..e0db008
--- /dev/null
+++ b/template/en/default/admin/classifications/edit-common.html.tmpl
@@ -0,0 +1,47 @@
+[%# 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): Tiago Rodrigues de Mello <timello@linux.vnet.ibm.com>
+ #%]
+
+[%# INTERFACE:
+ # classification: Bugzilla::Classifiation object.
+ #%]
+
+<tr>
+ <th align="right">Classification:</th>
+ <td><input size=64 maxlength=64 name="classification"
+ value="[% classification.name FILTER html %]"></td>
+</tr>
+<tr>
+ <th align="right">Description:</th>
+ <td>
+ [% INCLUDE global/textarea.html.tmpl
+ name = 'description'
+ minrows = 4
+ cols = 64
+ defaultcontent = classification.description
+ %]
+ </td>
+</tr>
+<tr>
+ <th align="right"><label for="sortkey">Sortkey:</label></th>
+ <td><input id="sortkey" size="20" maxlength="20" name="sortkey"
+ value="[%- classification.sortkey FILTER html %]"></td>
+</tr>
+
+[% Hook.process('rows') %]
diff --git a/template/en/default/admin/classifications/edit.html.tmpl b/template/en/default/admin/classifications/edit.html.tmpl
index 80d7f98..2ef1725 100644
--- a/template/en/default/admin/classifications/edit.html.tmpl
+++ b/template/en/default/admin/classifications/edit.html.tmpl
@@ -24,27 +24,9 @@
<form method=post action="editclassifications.cgi">
<table border=0 cellpadding=4 cellspacing=0>
- <tr>
- <th align="right">Classification:</th>
- <td><input size=64 maxlength=64 name="classification"
- value="[% classification.name FILTER html %]"></td>
- </tr>
- <tr>
- <th align="right">Description:</th>
- <td>
- [% INCLUDE global/textarea.html.tmpl
- name = 'description'
- minrows = 4
- cols = 64
- defaultcontent = classification.description
- %]
- </td>
- </tr>
- <tr>
- <th align="right"><label for="sortkey">Sortkey:</label></th>
- <td><input id="sortkey" size="20" maxlength="20" name="sortkey" value="
- [%- classification.sortkey FILTER html %]"></td>
- </tr>
+
+ [% PROCESS "admin/classifications/edit-common.html.tmpl" %]
+
<tr valign=top>
<th align="right">
<a href="editproducts.cgi?classification=[% classification.name FILTER url_quote %]">
diff --git a/template/en/default/admin/components/create.html.tmpl b/template/en/default/admin/components/create.html.tmpl
index 86411ad..c3b691d 100644
--- a/template/en/default/admin/components/create.html.tmpl
+++ b/template/en/default/admin/components/create.html.tmpl
@@ -26,70 +26,16 @@
[% title = BLOCK %]Add component to the [% product.name FILTER html %] product[% END %]
[% PROCESS global/header.html.tmpl
+ yui = [ 'autocomplete' ]
+ javascript_urls = [ "js/field.js" ]
title = title
%]
<form method="post" action="editcomponents.cgi">
<table border="0" cellpadding="4" cellspacing="0">
- <tr>
- <th align="right">Component:</th>
- <td><input size="64" maxlength="64" name="component" value=""></td>
- </tr>
- <tr>
- <th align="right">Description:</th>
- <td>
- [% INCLUDE global/textarea.html.tmpl
- name = 'description'
- minrows = 4
- cols = 64
- wrap = 'virtual'
- %]
- </td>
- </tr>
- <tr>
- <th align="right"><label for="initialowner">Default Assignee:</label></th>
- <td>
- [% INCLUDE global/userselect.html.tmpl
- name => "initialowner"
- id => "initialowner"
- value => ""
- size => 64
- %]
- </td>
- </tr>
-[% IF Param('useqacontact') %]
- <tr>
- <th align="right">
- <label for="initialqacontact">Default QA Contact:</label></th>
- <td>
- [% INCLUDE global/userselect.html.tmpl
- name => "initialqacontact"
- id => "initialqacontact"
- value => ""
- size => 64
- emptyok => 1
- %]
- </td>
- </tr>
-[% END %]
- <tr>
- <th align="right">
- <label for="initialcc">Default CC List:</label>
- </th>
- <td>
- [% INCLUDE global/userselect.html.tmpl
- name => "initialcc"
- id => "initialcc"
- value => ""
- size => 64
- multiple => 5
- %]
- <br>
- [% IF !Param("usemenuforusers") %]
- <em>Enter user names for the CC list as a comma-separated list.</em>
- [% END %]
- </td>
- </tr>
+
+ [% PROCESS "admin/components/edit-common.html.tmpl" %]
+
</table>
<hr>
<input type="submit" id="create" value="Add">
diff --git a/template/en/default/admin/components/edit-common.html.tmpl b/template/en/default/admin/components/edit-common.html.tmpl
new file mode 100644
index 0000000..069b56c
--- /dev/null
+++ b/template/en/default/admin/components/edit-common.html.tmpl
@@ -0,0 +1,86 @@
+[%# 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): Tiago Rodrigues de Mello <timello@linux.vnet.ibm.com>
+ #%]
+
+[%# INTERFACE:
+ # comp: object; Bugzilla::Component object.
+ #%]
+
+<tr>
+ <td valign="top">Component:</td>
+ <td><input size="64" maxlength="64" name="component"
+ value="[%- comp.name FILTER html %]"></td>
+</tr>
+<tr>
+ <td valign="top">Component Description:</td>
+ <td>
+ [% INCLUDE global/textarea.html.tmpl
+ name = 'description'
+ minrows = 4
+ cols = 64
+ wrap = 'virtual'
+ defaultcontent = comp.description
+ %]
+ </td>
+</tr>
+<tr>
+ <td valign="top"><label for="initialowner">Default Assignee:</label></td>
+ <td>
+ [% INCLUDE global/userselect.html.tmpl
+ name => "initialowner"
+ id => "initialowner"
+ value => comp.default_assignee.login
+ size => 64
+ %]
+ </td>
+</tr>
+[% IF Param('useqacontact') %]
+ <tr>
+ <td valign="top"><label for="initialqacontact">Default QA contact:</label></td>
+ <td>
+ [% INCLUDE global/userselect.html.tmpl
+ name => "initialqacontact"
+ id => "initialqacontact"
+ value => comp.default_qa_contact.login
+ size => 64
+ emptyok => 1
+ %]
+ </td>
+ </tr>
+[% END %]
+<tr>
+ <td valign="top">
+ <label for="initialcc">Default CC List:</label>
+ </td>
+ <td>
+ [% INCLUDE global/userselect.html.tmpl
+ name => "initialcc"
+ id => "initialcc"
+ value => initial_cc_names
+ size => 64
+ multiple => 5
+ %]
+ <br>
+ [% IF !Param("usemenuforusers") %]
+ <em>Enter user names for the CC list as a comma-separated list.</em>
+ [% END %]
+ </td>
+</tr>
+
+[% Hook.process('rows') %]
diff --git a/template/en/default/admin/components/edit.html.tmpl b/template/en/default/admin/components/edit.html.tmpl
index 9ddb8ca..be14be0 100644
--- a/template/en/default/admin/components/edit.html.tmpl
+++ b/template/en/default/admin/components/edit.html.tmpl
@@ -33,73 +33,15 @@
[% END %]
[% PROCESS global/header.html.tmpl
title = title
+ yui = [ 'autocomplete' ]
+ javascript_urls = [ "js/field.js" ]
%]
<form method="post" action="editcomponents.cgi">
<table border="0" cellpadding="4" cellspacing="0">
- <tr>
- <td valign="top">Component:</td>
- <td><input size="64" maxlength="64" name="component" value="
- [%- comp.name FILTER html %]"></td>
- </tr>
- <tr>
- <td valign="top">Component Description:</td>
- <td>
- [% INCLUDE global/textarea.html.tmpl
- name = 'description'
- minrows = 4
- cols = 64
- wrap = 'virtual'
- defaultcontent = comp.description
- %]
- </td>
- </tr>
- <tr>
- <td valign="top"><label for="initialowner">Default Assignee:</label></td>
- <td>
- [% INCLUDE global/userselect.html.tmpl
- name => "initialowner"
- id => "initialowner"
- value => comp.default_assignee.login
- size => 64
- %]
- </td>
-
-[% IF Param('useqacontact') %]
- </tr>
- <tr>
- <td valign="top"><label for="initialqacontact">Default QA contact:</label></td>
- <td>
- [% INCLUDE global/userselect.html.tmpl
- name => "initialqacontact"
- id => "initialqacontact"
- value => comp.default_qa_contact.login
- size => 64
- emptyok => 1
- %]
- </td>
-[% END %]
-
- </tr>
- <tr>
- <td valign="top">
- <label for="initialcc">Default CC List:</label>
- </td>
- <td>
- [% INCLUDE global/userselect.html.tmpl
- name => "initialcc"
- id => "initialcc"
- value => initial_cc_names
- size => 64
- multiple => 5
- %]
- <br>
- [% IF !Param("usemenuforusers") %]
- <em>Enter user names for the CC list as a comma-separated list.</em>
- [% END %]
- </td>
- </tr>
+ [% PROCESS "admin/components/edit-common.html.tmpl" %]
+
<tr>
<td>[% terms.Bugs %]:</td>
<td>
diff --git a/template/en/default/admin/custom_fields/cf-js.js.tmpl b/template/en/default/admin/custom_fields/cf-js.js.tmpl
index 5ece96e..528b88b 100644
--- a/template/en/default/admin/custom_fields/cf-js.js.tmpl
+++ b/template/en/default/admin/custom_fields/cf-js.js.tmpl
@@ -28,7 +28,15 @@ var select_values = new Array();
[% FOREACH sel_field = Bugzilla.get_fields({ is_select => 1 }) %]
select_values[[% sel_field.id FILTER js %]] = [
[% FOREACH legal_value = sel_field.legal_values %]
- [[% legal_value.id FILTER js %], '[% display_value(sel_field.name, legal_value.name) FILTER js %]'][% ',' UNLESS loop.last %]
+ [%# Prefix components with the name of their product so that admins
+ know which component we're talking about. #%]
+ [% IF sel_field.name == 'component' %]
+ [% SET value_name = display_value('product', legal_value.product.name) _ ': '
+ _ display_value(sel_field.name, legal_value.name) %]
+ [% ELSE %]
+ [% SET value_name = display_value(sel_field.name, legal_value.name) %]
+ [% END %]
+ [[% legal_value.id FILTER js %], '[% value_name FILTER js %]'][% ',' UNLESS loop.last %]
[% END %]
];
[% END %]
@@ -43,6 +51,16 @@ function onChangeType(type_field) {
else {
value_field.disabled = true;
}
+
+ var reverse_desc = document.getElementById('reverse_desc');
+ if (type_field.value == [% constants.FIELD_TYPE_BUG_ID %])
+ {
+ reverse_desc.disabled = false;
+ }
+ else {
+ reverse_desc.disabled = true;
+ reverse_desc.value = '';
+ }
}
function onChangeVisibilityField() {
diff --git a/template/en/default/admin/custom_fields/create.html.tmpl b/template/en/default/admin/custom_fields/create.html.tmpl
index a2db470..fcdf73b 100644
--- a/template/en/default/admin/custom_fields/create.html.tmpl
+++ b/template/en/default/admin/custom_fields/create.html.tmpl
@@ -28,8 +28,14 @@
onload = "document.getElementById('new_bugmail').disabled = true;"
javascript_urls = [ 'js/util.js' ]
doc_section = "custom-fields.html#add-custom-fields"
+ style_urls = ['skins/standard/admin.css']
%]
+[%# set initial editability of fields such as Reverse Relationship Description %]
+<script type="text/javascript">
+YAHOO.util.Event.onDOMReady(function() {onChangeType(document.getElementById('type'))});
+</script>
+
<p>
Adding custom fields can make the interface of [% terms.Bugzilla %] very
complicated. Many admins who are new to [% terms.Bugzilla %] start off
@@ -48,14 +54,14 @@
</ul>
<form id="add_field" action="editfields.cgi" method="GET">
- <table border="0" cellspacing="0" cellpadding="5">
+ <table border="0" cellspacing="0" cellpadding="5" id="edit_custom_field">
<tr>
- <th align="right"><label for="name">Name:</label></th>
+ <th class="narrow_label"><label for="name">Name:</label></th>
<td>
<input type="text" id="name" name="name" value="cf_" size="40" maxlength="64">
</td>
- <th align="right">
+ <th>
<label for="enter_bug">Can be set on [% terms.bug %] creation:</label>
</th>
<td>
@@ -64,16 +70,16 @@
</td>
</tr>
<tr>
- <th align="right"><label for="desc">Description:</label></th>
+ <th class="narrow_label"><label for="desc">Description:</label></th>
<td><input type="text" id="desc" name="desc" value="" size="40"></td>
- <th align="right">
+ <th>
<label for="new_bugmail">Displayed in [% terms.bug %]mail for new [% terms.bugs %]:</label>
</th>
<td><input type="checkbox" id="new_bugmail" name="new_bugmail" value="1"></td>
</tr>
<tr>
- <th align="right"><label for="type">Type:</label></th>
+ <th class="narrow_label"><label for="type">Type:</label></th>
<td>
<select id="type" name="type" onchange="onChangeType(this)">
[% FOREACH type = field_types.keys %]
@@ -83,16 +89,34 @@
</select>
</td>
- <th align="right"><label for="obsolete">Is obsolete:</label></th>
+ <th><label for="obsolete">Is obsolete:</label></th>
<td><input type="checkbox" id="obsolete" name="obsolete" value="1"></td>
</tr>
<tr>
- <th align="right"><label for="sortkey">Sortkey:</label></th>
+ <th class="narrow_label"><label for="sortkey">Sortkey:</label></th>
<td>
<input type="text" id="sortkey" name="sortkey" size="6" maxlength="6">
</td>
- <th align="right">
+ <th align="right"><label for="is_mandatory">Is mandatory:</label></th>
+ <td><input type="checkbox" id="is_mandatory" name="is_mandatory" value="1"></td>
+ </tr>
+
+ <tr>
+ <th class="narrow_label">
+ <label for="reverse_desc">Reverse Relationship Description:</label>
+ </th>
+ <td>
+ <input type="text" id="reverse_desc" name="reverse_desc" value="" size="40" disabled="disabled">
+ <br/>
+ Use this label for the list of [% terms.bugs %] that link to
+ [%+ terms.abug %] with this
+ [%+ field_types.${constants.FIELD_TYPE_BUG_ID} FILTER html %]
+ field. For example, if the description is "Is a duplicate of",
+ the reverse description would be "Duplicates of this [% terms.bug %]".
+ Leave blank to disable the list for this field.
+ </td>
+ <th>
<label for="visibility_field_id">Field only appears when:</label>
</th>
<td>
diff --git a/template/en/default/admin/custom_fields/edit.html.tmpl b/template/en/default/admin/custom_fields/edit.html.tmpl
index c5ac53d..755c364 100644
--- a/template/en/default/admin/custom_fields/edit.html.tmpl
+++ b/template/en/default/admin/custom_fields/edit.html.tmpl
@@ -32,6 +32,7 @@
onload = "toggleCheckbox(document.getElementById('enter_bug'), 'new_bugmail');"
javascript_urls = [ 'js/util.js' ]
doc_section = "custom-fields.html#edit-custom-fields"
+ style_urls = ['skins/standard/admin.css']
%]
<p>
@@ -40,12 +41,12 @@
</p>
<form id="edit_field" action="editfields.cgi" method="GET">
- <table border="0" cellspacing="0" cellpadding="5">
+ <table border="0" cellspacing="0" cellpadding="5" id="edit_custom_field">
<tr>
- <th align="right">Name:</th>
+ <th class="narrow_label">Name:</th>
<td>[% field.name FILTER html %]</td>
- <th align="right">
+ <th>
<label for="enter_bug">Can be set on [% terms.bug %] creation:</label>
</th>
<td><input type="checkbox" id="enter_bug" name="enter_bug" value="1"
@@ -53,31 +54,54 @@
onchange="toggleCheckbox(this, 'new_bugmail');"></td>
</tr>
<tr>
- <th align="right"><label for="desc">Description:</label></th>
+ <th class="narrow_label"><label for="desc">Description:</label></th>
<td><input type="text" id="desc" name="desc" size="40"
value="[% field.description FILTER html %]"></td>
- <th align="right">
+ <th>
<label for="new_bugmail">Displayed in [% terms.bug %]mail for new [% terms.bugs %]:</label>
</th>
<td><input type="checkbox" id="new_bugmail" name="new_bugmail" value="1"
[%- " checked" IF field.mailhead %]></td>
</tr>
<tr>
- <th align="right">Type:</th>
+ <th class="narrow_label">Type:</th>
<td>[% field_types.${field.type} FILTER html %]</td>
- <th align="right"><label for="obsolete">Is obsolete:</label></th>
+ <th><label for="obsolete">Is obsolete:</label></th>
<td><input type="checkbox" id="obsolete" name="obsolete" value="1"
[%- " checked" IF field.obsolete %]></td>
</tr>
<tr>
- <th align="right"><label for="sortkey">Sortkey:</label></th>
+ <th class="narrow_label"><label for="sortkey">Sortkey:</label></th>
<td>
<input type="text" id="sortkey" name="sortkey" size="6" maxlength="6"
value="[% field.sortkey FILTER html %]">
</td>
- <th align="right">
+ <th align="right"><label for="is_mandatory">Is mandatory:</label></th>
+ <td><input type="checkbox" id="is_mandatory" name="is_mandatory" value="1"
+ [%- ' checked="checked"' IF field.is_mandatory %]></td>
+ </tr>
+ <tr>
+ [% IF field.type == constants.FIELD_TYPE_BUG_ID %]
+ <th class="narrow_label">
+ <label for="reverse_desc">Reverse Relationship Description:</label>
+ </th>
+ <td>
+ <input type="text" id="reverse_desc" name="reverse_desc" size="40"
+ value="[% field.reverse_desc FILTER html %]">
+ <br/>
+ Use this label for the list of [% terms.bugs %] that link to
+ [%+ terms.abug %] with this
+ [%+ field_types.${constants.FIELD_TYPE_BUG_ID} FILTER html %] field.
+ For example, if the description is "Is a duplicate of",
+ the reverse description would be "Duplicates of this [% terms.bug %]".
+ Leave blank to disable the list for this field.
+ </td>
+ [% ELSE %]
+ <td colspan="2">&nbsp;</td>
+ [% END %]
+ <th>
<label for="visibility_field_id">Field only appears when:</label>
</th>
<td>
@@ -100,7 +124,10 @@
<option value="[% value.id FILTER html %]"
[% ' selected="selected"'
IF field.visibility_value.id == value.id %]>
- [% display_value(field.visibility_field.name, value.name) FILTER html %]
+ [% IF field.visibility_field.name == 'component' %]
+ [% display_value('product', value.product.name) FILTER html %]:
+ [% END %]
+ [%+ display_value(field.visibility_field.name, value.name) FILTER html %]
</option>
[% END %]
</select>
diff --git a/template/en/default/admin/custom_fields/list.html.tmpl b/template/en/default/admin/custom_fields/list.html.tmpl
index dd266c7..385650a 100644
--- a/template/en/default/admin/custom_fields/list.html.tmpl
+++ b/template/en/default/admin/custom_fields/list.html.tmpl
@@ -57,6 +57,10 @@
heading => "Is Obsolete"
},
{
+ name => "is_mandatory"
+ heading => "Is Mandatory"
+ },
+ {
name => "action"
heading => "Action"
content => ""
diff --git a/template/en/default/admin/fieldvalues/create.html.tmpl b/template/en/default/admin/fieldvalues/create.html.tmpl
index f1eec1a..0198314 100644
--- a/template/en/default/admin/fieldvalues/create.html.tmpl
+++ b/template/en/default/admin/fieldvalues/create.html.tmpl
@@ -75,6 +75,9 @@
[% FOREACH field_value = field.value_field.legal_values %]
[% NEXT IF field_value.name == '' %]
<option value="[% field_value.id FILTER none %]">
+ [% IF field.value_field.name == 'component' %]
+ [% field_value.product.name FILTER html %]:
+ [% END %]
[%- field_value.name FILTER html -%]
</option>
[% END %]
diff --git a/template/en/default/admin/fieldvalues/edit.html.tmpl b/template/en/default/admin/fieldvalues/edit.html.tmpl
index 5650ee8..9c42ce6 100644
--- a/template/en/default/admin/fieldvalues/edit.html.tmpl
+++ b/template/en/default/admin/fieldvalues/edit.html.tmpl
@@ -73,7 +73,10 @@
<option value="[% field_value.id FILTER none %]"
[% ' selected="selected"'
IF field_value.id == value.visibility_value.id %]>
- [%- field_value.name FILTER html -%]
+ [% IF field.value_field.name == 'component' %]
+ [% field_value.product.name FILTER html %]:
+ [% END %]
+ [% field_value.name FILTER html -%]
</option>
[% END %]
</select>
@@ -91,7 +94,11 @@
[% ELSIF value.is_static %]
This value is non-deletable and cannot be disabled.
[% END %]
- </td>
+ [% IF !(value.is_default OR value.is_static) %]
+ <input id="defined_is_active" name="defined_is_active"
+ type="hidden" value="1">
+ [% END %]
+ </td>
</tr>
</table>
<input type="hidden" name="value" value="[% value.name FILTER html %]">
diff --git a/template/en/default/admin/params/advanced.html.tmpl b/template/en/default/admin/params/advanced.html.tmpl
index 4caa2f1..a8e8a29 100644
--- a/template/en/default/admin/params/advanced.html.tmpl
+++ b/template/en/default/admin/params/advanced.html.tmpl
@@ -24,6 +24,35 @@
desc = "Settings for advanced configurations."
%]
+[% sts_desc = BLOCK %]
+ Enables the sending of the
+ <a href="http://en.wikipedia.org/wiki/Strict_Transport_Security">Strict-Transport-Security</a>
+ header along with HTTP responses on SSL connections. This adds greater
+ security to your SSL connections by forcing the browser to always
+ access your domain over SSL and never accept an invalid certificate.
+ However, it should only be used if you have the <code>ssl_redirect</code>
+ parameter turned on, [% terms.Bugzilla %] is the only thing running
+ on its domain (i.e., your <code>urlbase</code> is something like
+ <code>http://bugzilla.example.com/</code>), and you never plan to disable
+ the <code>ssl_redirect</code> parameter.
+ <ul>
+ <li>
+ off - Don't send the Strict-Transport-Security header with requests.
+ </li>
+ <li>
+ this_domain_only - Send the Strict-Transport-Security header with all
+ requests, but only support it for the current domain.
+ </li>
+ <li>
+ include_subdomains - Send the Strict-Transport-Security header along
+ with the <code>includeSubDomains</code> flag, which will apply the
+ security change to all subdomains. This is especially useful when
+ combined with an <code>attachment_base</code> that exists as (a)
+ subdomain(s) under the main [% terms.Bugzilla %] domain.
+ </li>
+ </ul>
+[% END %]
+
[% param_descs = {
cookiedomain =>
"If your website is at 'www.foo.com', setting this to"
@@ -47,4 +76,6 @@
_ " necessary to enter its URL if the web server cannot access the"
_ " HTTP_PROXY environment variable. If you have to authenticate,"
_ " use the <code>http://user:pass@proxy_url/</code> syntax.",
+
+ strict_transport_security => sts_desc,
} %]
diff --git a/template/en/default/admin/params/attachment.html.tmpl b/template/en/default/admin/params/attachment.html.tmpl
index 7d1e29f..12fd491 100644
--- a/template/en/default/admin/params/attachment.html.tmpl
+++ b/template/en/default/admin/params/attachment.html.tmpl
@@ -45,7 +45,7 @@
_ " That is, a different domain name that resolves to this exact"
_ " same $terms.Bugzilla installation.</p>"
_ "<p>Note that if you have set the"
- _ " <a href=\"editparams.cgi?section=advanced#cookiedomain\"><tt>cookiedomain</tt>"
+ _ " <a href=\"editparams.cgi?section=advanced#cookiedomain_desc\"><tt>cookiedomain</tt>"
_" parameter</a>, you should set <tt>attachment_base</tt> to use a"
_ " domain that would <em>not</em> be matched by"
_ " <tt>cookiedomain</tt>.</p>"
diff --git a/template/en/default/admin/params/auth.html.tmpl b/template/en/default/admin/params/auth.html.tmpl
index d2cb3e5..35bddf1 100644
--- a/template/en/default/admin/params/auth.html.tmpl
+++ b/template/en/default/admin/params/auth.html.tmpl
@@ -70,8 +70,8 @@
<dt>RADIUS</dt>
<dd>
RADIUS authentication using a RADIUS server.
- This method is experimental; please see the
- $terms.Bugzilla documentation for more information.
+ Please see the $terms.Bugzilla documentation for
+ more information.
Using this method requires
<a href=\"?section=radius\">additional
parameters</a> to be set.
diff --git a/template/en/default/admin/params/bugchange.html.tmpl b/template/en/default/admin/params/bugchange.html.tmpl
index 9f456ee..15d4f1e 100644
--- a/template/en/default/admin/params/bugchange.html.tmpl
+++ b/template/en/default/admin/params/bugchange.html.tmpl
@@ -23,6 +23,10 @@
desc = "Set up $terms.bug change policies"
%]
+[% PROCESS "global/field-descs.none.tmpl" %]
+
+[% accept_status = display_value('bug_status', 'IN_PROGRESS') FILTER html %]
+
[% param_descs = {
duplicate_or_move_bug_status => "When $terms.abug is marked as a duplicate of another one " _
"or is moved to another installation, use this $terms.bug status."
@@ -37,8 +41,10 @@
"If off, then all $terms.bugs initially have the default " _
"milestone for the product being filed in.",
- musthavemilestoneonaccept => "If you are using Target Milestone, do you want to require that " _
- "the milestone be set in order for a user to ACCEPT a ${terms.bug}?",
+ musthavemilestoneonaccept =>
+ "If you are using ${field_descs.target_milestone}, do you want to require"
+ _ " that the milestone be set in order for a user to set"
+ _ " ${terms.abug}'s status to ${accept_status}?",
commentonchange_resolution => "If this option is on, the user needs to enter a short " _
"comment if the resolution of the $terms.bug changes.",
diff --git a/template/en/default/admin/params/bugfields.html.tmpl b/template/en/default/admin/params/bugfields.html.tmpl
index 794f925..58b08f6 100644
--- a/template/en/default/admin/params/bugfields.html.tmpl
+++ b/template/en/default/admin/params/bugfields.html.tmpl
@@ -34,11 +34,6 @@
usestatuswhiteboard => "Do you wish to use the Status Whiteboard field?",
- usevotes => "Do you wish to allow users to vote for ${terms.bugs}? Note that in order " _
- "for this to be effective, you will have to change the maximum " _
- "votes allowed in a product to be non-zero in " _
- "<a href=\"editproducts.cgi\">the product edit page</a>.",
-
usebugaliases => "Do you wish to use $terms.bug aliases, which allow you to assign " _
"$terms.bugs an easy-to-remember name by which you can refer to them?",
diff --git a/template/en/default/admin/params/common.html.tmpl b/template/en/default/admin/params/common.html.tmpl
index 18aa1fb..d86da0d 100644
--- a/template/en/default/admin/params/common.html.tmpl
+++ b/template/en/default/admin/params/common.html.tmpl
@@ -28,7 +28,7 @@
<dl>
[% FOREACH param = panel.param_list %]
- <dt><a name="[% param.name FILTER html %]">[% param.name FILTER html %]</a></dt>
+ <dt id="[% param.name FILTER html %]_desc">[% param.name FILTER html %]</dt>
<dd>[% panel.param_descs.${param.name} FILTER none %]
<p>
[% IF param.type == "t" %]
@@ -62,55 +62,48 @@
[% END %]
</select>
[% ELSIF param.type == "o" %]
- <script type="text/javascript"><!--
- document.write("<span style=\"display: none\">");
- // -->
- </script>
<input id="input_[% param.name FILTER html %]" size="80"
name="[% param.name FILTER html %]"
value="[% Param(param.name) FILTER html %]"><br>
- <script type="text/javascript"><!--
- document.write("<\/span>");
- // -->
- </script>
[% boxSize = 7 %]
[% boxSize = 3 + param.choices.size IF param.choices.size < 7 %]
[% plist = Param(param.name).split(',') %]
- <script type="text/javascript"><!--
- document.write(
- '<table>' +
- ' <tr>' +
- ' <td rowspan="2">' +
- ' <select id="select_[% param.name FILTER html %]"' +
- ' size="[% boxSize FILTER html %]"' +
- ' name="select_[% param.name FILTER html %]">' +
- [% FOREACH item = plist %]
- ' <option value="[% item FILTER html %]">[% item FILTER html %]<\/option>' +
- [% END %]
- ' <option class="sortlist_separator"' +
- ' disabled="disabled"' +
- ' value="[% sortlist_separator %]">active&uarr;&nbsp;&darr;inactive<\/option>' +
- [% FOREACH item = param.choices %]
- [% IF lsearch(plist, item) == -1 %]
- ' <option value="[% item FILTER html %]">[% item FILTER html %]<\/option>' +
- [% END %]
- [% END %]
- ' <\/select>' +
- ' <\/td>' +
- ' <td style="vertical-align: bottom">' +
- ' <button type="button"' +
- ' onClick="sortedList_moveItem(\'[% param.name FILTER html %]\', -1, \'[% sortlist_separator %]\');">&uarr;<\/button>' +
- ' <\/td>' +
- ' <\/tr>' +
- ' <tr>' +
- ' <td style="vertical-align: top">' +
- ' <button type="button"' +
- ' onClick="sortedList_moveItem(\'[% param.name FILTER html %]\', +1, \'[% sortlist_separator %]\');">&darr;<\/button>' +
- ' <\/td>' +
- ' <\/tr>' +
- '<\/table>');
- // -->
+ <table id="table_[% param.name FILTER html %]" class="bz_default_hidden">
+ <tr>
+ <td rowspan="2">
+ <select id="select_[% param.name FILTER html %]"
+ name="select_[% param.name FILTER html %]"
+ size="[% boxSize FILTER html %]">
+ [% FOREACH item = plist %]
+ <option value="[% item FILTER html %]">[% item FILTER html %]</option>
+ [% END %]
+ <option class="sortlist_separator" disabled="disabled"
+ value="[% sortlist_separator %]">active&uarr;&nbsp;&darr;inactive</option>
+ [% FOREACH item = param.choices %]
+ [% IF lsearch(plist, item) == -1 %]
+ <option value="[% item FILTER html %]">[% item FILTER html %]</option>
+ [% END %]
+ [% END %]
+ </select>
+ </td>
+ <td style="vertical-align: bottom">
+ <button type="button"
+ onClick="sortedList_moveItem('[% param.name FILTER html %]', -1, '[% sortlist_separator %]');">&uarr;</button>
+ </td>
+ </tr>
+
+ <tr>
+ <td style="vertical-align: top">
+ <button type="button"
+ onClick="sortedList_moveItem('[% param.name FILTER html %]', +1, '[% sortlist_separator %]');">&darr;</button>
+ </td>
+ </tr>
+ </table>
+
+ <script type="text/javascript">
+ bz_toggleClass("input_[% param.name FILTER html %]", "bz_default_hidden");
+ bz_toggleClass("table_[% param.name FILTER html %]", "bz_default_hidden");
</script>
[% ELSIF param.type == "s" %]
<select name="[% param.name FILTER html %]" id="[% param.name FILTER html %]">
diff --git a/template/en/default/admin/params/dependencygraph.html.tmpl b/template/en/default/admin/params/dependencygraph.html.tmpl
index 181cced..4cf22d5 100644
--- a/template/en/default/admin/params/dependencygraph.html.tmpl
+++ b/template/en/default/admin/params/dependencygraph.html.tmpl
@@ -44,6 +44,6 @@
The default value is a publicly-accessible webdot server. If you change
this value, make certain that the webdot server can read files from your
webdot directory. On Apache you do this by editing the .htaccess file,
- for other systems the needed measures may vary. You can run checksetup.pl
+ for other systems the needed measures may vary. You can run <kbd>checksetup.pl</kbd>
to recreate the .htaccess file if it has been lost."}
-%] \ No newline at end of file
+%]
diff --git a/template/en/default/admin/params/editparams.html.tmpl b/template/en/default/admin/params/editparams.html.tmpl
index 21fa9fa..8d6a987 100644
--- a/template/en/default/admin/params/editparams.html.tmpl
+++ b/template/en/default/admin/params/editparams.html.tmpl
@@ -56,7 +56,7 @@
title = title
message = message
style_urls = ['skins/standard/params.css']
- javascript_urls = ['js/params.js']
+ javascript_urls = ['js/params.js', 'js/util.js']
doc_section = "parameters.html"
%]
diff --git a/template/en/default/admin/params/general.html.tmpl b/template/en/default/admin/params/general.html.tmpl
index b8c0c77..c19cf14 100644
--- a/template/en/default/admin/params/general.html.tmpl
+++ b/template/en/default/admin/params/general.html.tmpl
@@ -45,7 +45,7 @@
_ " character encodings to UTF-8, using the <kbd>contrib/recode.pl</kbd>"
_ " script</strong>."
_ " <p>Note that if you turn this parameter from &quot;off&quot; to"
- _ " &quot;on&quot;, you must re-run checksetup.pl immediately"
+ _ " &quot;on&quot;, you must re-run <kbd>checksetup.pl</kbd> immediately"
_ " afterward.</p>",
shutdownhtml =>
diff --git a/template/en/default/admin/params/index.html.tmpl b/template/en/default/admin/params/index.html.tmpl
index 1629c8c..9f80245 100644
--- a/template/en/default/admin/params/index.html.tmpl
+++ b/template/en/default/admin/params/index.html.tmpl
@@ -35,7 +35,7 @@
<tr>
<td>
<a href="editparams.cgi?section=
- [%- panel.name FILTER url_quote %]#[% param.name FILTER url_quote %]">
+ [%- panel.name FILTER url_quote %]#[% param.name FILTER url_quote %]_desc">
[% param.name FILTER html %]</a>
</td>
<td>
diff --git a/template/en/default/admin/params/mta.html.tmpl b/template/en/default/admin/params/mta.html.tmpl
index 8533257..05c4485 100644
--- a/template/en/default/admin/params/mta.html.tmpl
+++ b/template/en/default/admin/params/mta.html.tmpl
@@ -50,19 +50,11 @@
_ " email at once. If you enable this parameter, $terms.Bugzilla will"
_ " queue all mail and then send it in the background. This requires"
_ " that you have installed certain Perl modules (as listed by"
- _ " <code>checksetup.pl</code> for this feature), and that you are"
+ _ " <kbd>checksetup.pl</kbd> for this feature), and that you are"
_ " running the <code>jobqueue.pl</code> daemon (otherwise your mail"
_ " won't get sent). This affects all mail sent by $terms.Bugzilla,"
_ " not just $terms.bug updates.",
- sendmailnow => "Sites using anything older than version 8.12 of 'sendmail' " _
- "can achieve a significant performance increase in the " _
- "UI -- at the cost of delaying the sending of mail -- by " _
- "disabling this parameter. Sites using 'sendmail' 8.12 or " _
- "higher should leave this on, as they will see no benefit from " _
- "turning it off. Sites using an MTA other than 'sendmail' " _
- "<b>must</b> leave it on, or no $terms.bug mail will be sent.",
-
smtpserver => "The SMTP server address (if using SMTP for mail delivery).",
smtp_username => "The username to pass to the SMTP server for SMTP authentication. " _
@@ -76,7 +68,7 @@
" $terms.Bugzilla and your SMTP server. You can use this to" _
" troubleshoot email problems.",
- whinedays => "The number of days that we'll let a $terms.bug sit untouched in a NEW " _
+ whinedays => "The number of days that we'll let a $terms.bug sit untouched in a CONFIRMED " _
"state before our cronjob will whine at the owner.<br> " _
"Set to 0 to disable whining.",
diff --git a/template/en/default/admin/params/radius.html.tmpl b/template/en/default/admin/params/radius.html.tmpl
index ef2282d..f12e581 100644
--- a/template/en/default/admin/params/radius.html.tmpl
+++ b/template/en/default/admin/params/radius.html.tmpl
@@ -26,13 +26,13 @@
"(e.g. <code>radius.company.com</code>, or " _
"<code>radius.company.com:portnum</code>).<br>" _
"Required only if " _
- "<a href=\"?section=auth#user_verify_class\">the " _
+ "<a href=\"?section=auth#user_verify_class_desc\">the " _
"<code>user_verify_class</code> parameter</a> contains " _
"<code>RADIUS</code>.",
RADIUS_secret => "Your RADIUS server's secret.<br>" _
"Required only if " _
- "<a href=\"?section=auth#user_verify_class\">the " _
+ "<a href=\"?section=auth#user_verify_class_desc\">the " _
"<code>user_verify_class</code> parameter</a> contains " _
"<code>RADIUS</code>.",
@@ -40,14 +40,14 @@
"data with your RADIUS server. " _
"If unspecified, <code>127.0.0.1</code> will be used.<br>" _
"Useful only if " _
- "<a href=\"?section=auth#user_verify_class\">the " _
+ "<a href=\"?section=auth#user_verify_class_desc\">the " _
"<code>user_verify_class</code> parameter</a> " _
"contains <code>RADIUS</code>.",
RADIUS_email_suffix => "Suffix to append to a RADIUS user name to form an " _
"e-mail address.<br>" _
"Useful only if " _
- "<a href=\"?section=auth#user_verify_class\">the " _
+ "<a href=\"?section=auth#user_verify_class_desc\">the " _
"<code>user_verify_class</code> parameter</a> " _
"contains <code>RADIUS</code>.",
}
diff --git a/template/en/default/admin/params/usermatch.html.tmpl b/template/en/default/admin/params/usermatch.html.tmpl
index 54f1509..d574edc 100644
--- a/template/en/default/admin/params/usermatch.html.tmpl
+++ b/template/en/default/admin/params/usermatch.html.tmpl
@@ -29,6 +29,9 @@
"needs to be selected. This option should not be enabled on " _
"sites where there are a large number of users.",
+ ajax_user_autocompletion => "If this option is set, typing characters in a certain user " _
+ "fields will display a list of matches that can be selected from.",
+
maxusermatches => "Search for no more than this many matches.<br> " _
"If set to '1', no users will be displayed on ambiguous matches. " _
"This is useful for user privacy purposes.<br> " _
diff --git a/template/en/default/admin/products/create.html.tmpl b/template/en/default/admin/products/create.html.tmpl
index f4a2161..1b50661 100644
--- a/template/en/default/admin/products/create.html.tmpl
+++ b/template/en/default/admin/products/create.html.tmpl
@@ -29,13 +29,10 @@
%]
[% DEFAULT
- product.votesperuser = "0",
- product.maxvotesperbug = "10000",
- product.votes_to_confirm = "0",
product.is_active = 1,
version = "unspecified",
product.defaultmilestone = constants.DEFAULT_MILESTONE
- product.allows_unconfirmed = 0
+ product.allows_unconfirmed = 1
%]
<form method="post" action="editproducts.cgi">
@@ -51,7 +48,9 @@
</tr>
<tr>
<th align="right">Create chart datasets for this product:</th>
- <td><input type="checkbox" name="createseries" value="1"></td>
+ <td>
+ <input type="checkbox" name="createseries" value="1" checked="checked">
+ </td>
</tr>
</table>
diff --git a/template/en/default/admin/products/edit-common.html.tmpl b/template/en/default/admin/products/edit-common.html.tmpl
index 2c94402..4812707 100644
--- a/template/en/default/admin/products/edit-common.html.tmpl
+++ b/template/en/default/admin/products/edit-common.html.tmpl
@@ -76,37 +76,8 @@
in this product:</label>
</th>
<td><input type="checkbox" id="allows_unconfirmed" name="allows_unconfirmed"
- [% ' checked="checked"' IF product.allows_unconfirmed %]
- [% IF Param('usevotes') %]
- onchange="bz_toggleClass('votes_to_confirm_container',
- 'bz_default_hidden')"
- [% END %]>
- [% IF Param('usevotes') %]
- <span id="votes_to_confirm_container"
- [% ' class="bz_default_hidden"' IF !product.allows_unconfirmed %]>
- ...and automatically confirm [% terms.bugs %] if they get
- <input size="3" maxlength="5" name="votestoconfirm" id="votestoconfirm"
- value="[% product.votes_to_confirm FILTER html %]">
- votes. (Setting this to 0 disables auto-confirming [% terms.bugs %]
- by vote.)
- </span>
- [% END %]
+ [% ' checked="checked"' IF product.allows_unconfirmed %]>
</td>
</tr>
-[% IF Param('usevotes') %]
- <tr>
- <th align="right">Maximum votes per person:</th>
- <td><input size="5" maxlength="5" name="votesperuser" id="votesperuser"
- value="[% product.votesperuser FILTER html %]">
- </td>
- </tr>
- <tr>
- <th align="right">
- Maximum votes a person can put on a single [% terms.bug %]:
- </th>
- <td><input size="5" maxlength="5" name="maxvotesperbug" id="maxvotesperbug"
- value="[% product.maxvotesperbug FILTER html %]">
- </td>
- </tr>
-[% END %]
+[% Hook.process('rows') %]
diff --git a/template/en/default/admin/products/list-classifications.html.tmpl b/template/en/default/admin/products/list-classifications.html.tmpl
index 4eddad3..161cc4b 100644
--- a/template/en/default/admin/products/list-classifications.html.tmpl
+++ b/template/en/default/admin/products/list-classifications.html.tmpl
@@ -27,18 +27,11 @@
title = "Select Classification"
%]
-[% edit_contentlink = BLOCK %]
- editproducts.cgi?classification=%%name%%
-[% END %]
-[% add_contentlink = BLOCK %]
- editproducts.cgi?action=add&amp;classification=%%name%%
-[% END %]
-
[% columns = [
{
name => "name"
heading => "Edit products of..."
- contentlink => edit_contentlink
+ contentlink => 'editproducts.cgi?classification=%%name%%'
},
{
name => "description"
@@ -57,10 +50,12 @@
[% columns.push({
heading => "Action..."
content => "Add product"
- contentlink => add_contentlink })
+ contentlink => 'editproducts.cgi?action=add&amp;classification=%%name%%' })
%]
[% END %]
+[% Hook.process('before_table') %]
+
[% PROCESS admin/table.html.tmpl
columns = columns
data = classifications
diff --git a/template/en/default/admin/products/list.html.tmpl b/template/en/default/admin/products/list.html.tmpl
index 57d75d8..93467df 100644
--- a/template/en/default/admin/products/list.html.tmpl
+++ b/template/en/default/admin/products/list.html.tmpl
@@ -37,22 +37,11 @@
title = "Select product $classification_title"
%]
-[% edit_contentlink = BLOCK %]
- editproducts.cgi?action=edit&amp;product=%%name%%
-[% END %]
-[% delete_contentlink = BLOCK %]
- editproducts.cgi?action=del&amp;product=%%name%%
-[% END %]
-[% bug_count_contentlink = BLOCK %]
- buglist.cgi?product=%%name%%
-[% END %]
-
-
[% columns = [
{
name => "name"
heading => "Edit product..."
- contentlink => edit_contentlink
+ contentlink => 'editproducts.cgi?action=edit&amp;product=%%name%%'
},
{
name => "description"
@@ -64,22 +53,7 @@
heading => "Open For New $terms.Bugs"
yesno_field => 1
},
- {
- name => "votesperuser"
- heading => "Votes Per User"
- align => 'right'
- },
- {
- name => "maxvotesperbug"
- heading => "Maximum Votes Per $terms.Bug"
- align => 'right'
- },
- {
- name => "votestoconfirm"
- heading => "Votes To Confirm"
- align => 'right'
- } ]
-%]
+] %]
[% IF showbugcounts %]
@@ -87,7 +61,7 @@
name => "bug_count"
heading => "$terms.Bug Count"
align => 'right'
- contentlink => bug_count_contentlink
+ contentlink => 'buglist.cgi?product=%%name%%'
})
%]
@@ -96,7 +70,7 @@
[% columns.push({
heading => "Action"
content => "Delete"
- contentlink => delete_contentlink
+ contentlink => 'editproducts.cgi?action=del&amp;product=%%name%%'
})
%]
diff --git a/template/en/default/admin/products/updated.html.tmpl b/template/en/default/admin/products/updated.html.tmpl
index c6e8710..4140bab 100644
--- a/template/en/default/admin/products/updated.html.tmpl
+++ b/template/en/default/admin/products/updated.html.tmpl
@@ -75,33 +75,6 @@
'[% product.default_milestone FILTER html %]'.
</p>
[% END %]
-
-[% IF changes.votesperuser.defined %]
- <p>
- Updated votes per user from
- [%+ changes.votesperuser.0 FILTER html %] to
- [%+ product.votes_per_user FILTER html %].
- </p>
- [% checkvotes = 1 %]
-[% END %]
-
-[% IF changes.maxvotesperbug.defined %]
- <p>
- Updated maximum votes per [% terms.bug %] from
- [%+ changes.maxvotesperbug.0 FILTER html %] to
- [%+ product.max_votes_per_bug FILTER html %].
- </p>
- [% checkvotes = 1 %]
-[% END %]
-
-[% IF changes.votestoconfirm.defined %]
- <p>
- Updated number of votes needed to confirm a [% terms.bug %] from
- [%+ changes.votestoconfirm.0 FILTER html %] to
- [%+ product.votes_to_confirm FILTER html %].
- </p>
- [% checkvotes = 1 %]
-[% END %]
[% IF changes.allows_unconfirmed.defined %]
<p>
@@ -121,65 +94,12 @@
</p>
[% END %]
+[% Hook.process('changes') %]
+
[% IF !changes.keys.size %]
<p>Nothing changed for product '[% product.name FILTER html %]'.</p>
[% END %]
-[%# Note that this display of changed votes and/or confirmed bugs is
- not very scalable. We could have a _lot_, and we just list them all.
- One day we should limit this perhaps, or have a more scalable display %]
-
-
-[% IF checkvotes %]
- <hr>
-
- <p>Checking existing votes in this product for anybody who now
- has too many votes for [% terms.abug %]...<br>
- [% IF changes.too_many_votes.size %]
- [% FOREACH detail = changes.too_many_votes %]
- &rarr;removed votes for [% terms.bug %] <a href="show_bug.cgi?id=
- [%- detail.id FILTER url_quote %]">
- [%- detail.id FILTER html %]</a> from [% detail.name FILTER html %]<br>
- [% END %]
- [% ELSE %]
- &rarr;there were none.
- [% END %]
- </p>
-
- <p>Checking existing votes in this product for anybody
- who now has too many total votes...<br>
- [% IF changes.too_many_total_votes.size %]
- [% FOREACH detail = changes.too_many_total_votes %]
- &rarr;removed votes for [% terms.bug %] <a href="show_bug.cgi?id=
- [%- detail.id FILTER url_quote %]">
- [%- detail.id FILTER html %]</a> from [% detail.name FILTER html %]<br>
- [% END %]
- [% ELSE %]
- &rarr;there were none.
- [% END %]
- </p>
-
- <p>Checking unconfirmed [% terms.bugs %] in this product for any which now have
- sufficient votes...<br>
- [% IF changes.confirmed_bugs.size %]
- [% FOREACH id = changes.confirmed_bugs %]
-
- [%# This is INCLUDED instead of PROCESSED to avoid variables getting
- overwritten, which happens otherwise %]
- [% INCLUDE bug/process/results.html.tmpl
- type = 'votes'
- header_done = 1
- sent_bugmail = changes.confirmed_bugs_sent_bugmail.$id
- id = id
- %]
- [% END %]
- [% ELSE %]
- &rarr;there were none.
- [% END %]
- </p>
-
-[% END %]
-
[% PROCESS admin/products/footer.html.tmpl %]
[% PROCESS global/footer.html.tmpl %]
diff --git a/template/en/default/admin/sanitycheck/messages.html.tmpl b/template/en/default/admin/sanitycheck/messages.html.tmpl
index c3d5daa..8d8cd35 100644
--- a/template/en/default/admin/sanitycheck/messages.html.tmpl
+++ b/template/en/default/admin/sanitycheck/messages.html.tmpl
@@ -34,7 +34,8 @@
[% errortext FILTER html %]: [% INCLUDE bug_list badbugs = badbugs %]
[% ELSIF san_tag == "bug_check_repair" %]
- <a href="sanitycheck.cgi?[% param FILTER url_quote %]=1">[% text FILTER html %]</a>.
+ <a href="sanitycheck.cgi?[% param FILTER url_quote %]=1&amp;token=
+ [%- issue_hash_token(['sanitycheck']) FILTER url_quote %]">[% text FILTER html %]</a>.
[% ELSIF san_tag == "bug_check_creation_date" %]
Checking for [% terms.bugs %] with no creation date (which makes them invisible).
@@ -81,12 +82,6 @@
[% ELSIF san_tag == "bug_check_status_everconfirmed_error_text2" %]
[% terms.Bugs %] with confirmed status but don't have everconfirmed set
- [% ELSIF san_tag == "bug_check_votes_everconfirmed" %]
- Checking votes/everconfirmed
-
- [% ELSIF san_tag == "bug_check_votes_everconfirmed_error_text" %]
- [% terms.Bugs %] that have enough votes to be confirmed but haven't been
-
[% ELSIF san_tag == "bug_check_control_values" %]
Checking for bad values in group_control_map
@@ -142,11 +137,13 @@
[% END %]
[% ELSIF san_tag == "cross_check_attachment_has_references" %]
- <a href="sanitycheck.cgi?remove_invalid_attach_references=1">Remove
+ <a href="sanitycheck.cgi?remove_invalid_attach_references=1&amp;token=
+ [%- issue_hash_token(['sanitycheck']) FILTER url_quote %]">Remove
invalid references to non existent attachments.</a>
[% ELSIF san_tag == "cross_check_bug_has_references" %]
- <a href="sanitycheck.cgi?remove_invalid_bug_references=1">Remove
+ <a href="sanitycheck.cgi?remove_invalid_bug_references=1&amp;token=
+ [%- issue_hash_token(['sanitycheck']) FILTER url_quote %]">Remove
invalid references to non existent [% terms.bugs %].</a>
[% ELSIF san_tag == "double_cross_check_to" %]
@@ -192,7 +189,8 @@
[%+ PROCESS bug_link bug_id = bug_id %].
[% ELSIF san_tag == "flag_fix" %]
- <a href="sanitycheck.cgi?remove_invalid_flags=1">Click
+ <a href="sanitycheck.cgi?remove_invalid_flags=1&amp;token=
+ [%- issue_hash_token(['sanitycheck']) FILTER url_quote %]">Click
here to delete invalid flags</a>
[% ELSIF san_tag == "group_control_map_entries_creation" %]
@@ -228,23 +226,6 @@
[% ELSIF san_tag == "keyword_check_duplicated_ids" %]
Duplicate keyword IDs found in [% PROCESS bug_link bug_id = id %].
- [% ELSIF san_tag == "keyword_cache_start" %]
- Checking cached keywords.
-
- [% ELSIF san_tag == "keyword_cache_alert" %]
- [% badbugs.size FILTER none %] [%+ terms.bugs %] found with
- incorrect keyword cache: [% INCLUDE bug_list badbugs = badbugs %]
-
- [% ELSIF san_tag == "keyword_cache_fixing" %]
- OK, now fixing keyword cache.
-
- [% ELSIF san_tag == "keyword_cache_fixed" %]
- Keyword cache fixed.
-
- [% ELSIF san_tag == "keyword_cache_rebuild" %]
- <a href="sanitycheck.cgi?rebuildkeywordcache=1">Click here to
- rebuild the keyword cache</a>.
-
[% ELSIF san_tag == "profile_login_start" %]
Checking profile logins.
@@ -273,26 +254,8 @@
half an hour: [% INCLUDE bug_list badbugs = badbugs %]
[% ELSIF san_tag == "unsent_bugmail_fix" %]
- <a href="sanitycheck.cgi?rescanallBugMail=1">Send these mails</a>.
-
- [% ELSIF san_tag == "vote_cache_rebuild_start" %]
- OK, now rebuilding vote cache.
-
- [% ELSIF san_tag == "vote_cache_rebuild_end" %]
- Vote cache has been rebuilt.
-
- [% ELSIF san_tag == "vote_cache_rebuild_fix" %]
- <a href="sanitycheck.cgi?rebuildvotecache=1">Click here to
- rebuild the vote cache</a>
-
- [% ELSIF san_tag == "vote_cache_alert" %]
- Bad vote cache for [% PROCESS bug_link bug_id = id %]
-
- [% ELSIF san_tag == "vote_count_start" %]
- Checking cached vote counts.
-
- [% ELSIF san_tag == "vote_count_alert" %]
- Bad vote sum for [% terms.bug %] [%+ id FILTER html %].
+ <a href="sanitycheck.cgi?rescanallBugMail=1&amp;token=
+ [%- issue_hash_token(['sanitycheck']) FILTER url_quote %]">Send these mails</a>.
[% ELSIF san_tag == "whines_obsolete_target_deletion_start" %]
OK, now removing non-existent users/groups from whines.
@@ -310,7 +273,8 @@
[% END %]
[% ELSIF san_tag == "whines_obsolete_target_fix" %]
- <a href="sanitycheck.cgi?remove_old_whine_targets=1">Click here to
+ <a href="sanitycheck.cgi?remove_old_whine_targets=1&amp;token=
+ [%- issue_hash_token(['sanitycheck']) FILTER url_quote %]">Click here to
remove old users/groups</a>
[% ELSE %]
diff --git a/template/en/default/admin/sudo.html.tmpl b/template/en/default/admin/sudo.html.tmpl
index 680bcfb..283eebe 100644
--- a/template/en/default/admin/sudo.html.tmpl
+++ b/template/en/default/admin/sudo.html.tmpl
@@ -83,8 +83,7 @@
password</label>:
<input type="hidden" name="Bugzilla_login" value="
[%- user.login FILTER html %]">
- <input type="password" id="Bugzilla_password" name="Bugzilla_password"
- maxlength="20" size="20">
+ <input type="password" id="Bugzilla_password" name="Bugzilla_password" size="20">
<br>
This is done for two reasons. First of all, it is done to reduce
the chances of someone doing large amounts of damage using your
diff --git a/template/en/default/admin/table.html.tmpl b/template/en/default/admin/table.html.tmpl
index ce5e985..c7177a6 100644
--- a/template/en/default/admin/table.html.tmpl
+++ b/template/en/default/admin/table.html.tmpl
@@ -143,7 +143,7 @@
[% link_uri = contentlink %]
[% WHILE link_uri.search('%%(.+?)%%')%]
[% FOREACH m = link_uri.match('%%(.+?)%%') %]
- [% IF row.$m %]
+ [% IF row.$m.defined %]
[% replacement_value = FILTER url_quote; row.$m; END %]
[% ELSE %]
[% replacement_value = "" %]
diff --git a/template/en/default/admin/users/confirm-delete.html.tmpl b/template/en/default/admin/users/confirm-delete.html.tmpl
index b61a995..4711376 100644
--- a/template/en/default/admin/users/confirm-delete.html.tmpl
+++ b/template/en/default/admin/users/confirm-delete.html.tmpl
@@ -33,7 +33,6 @@
# namedquery_group_map: number of named queries the user has shared
# profiles_activity: number of changes made to other users' profiles
# series: number of series the viewed user has created
- # votes: number of bugs the viewed user has voted on
# watch.watched: number of users the viewed user is being watched
# by
# watch.watcher: number of users the viewed user is watching
@@ -226,8 +225,8 @@
[% END %]
[% IF assignee_or_qa || cc || component_cc || email_setting || flags.requestee ||
- namedqueries || profile_setting || quips || series || votes || watch.watched ||
- watch.watcher || whine_events || whine_schedules %]
+ namedqueries || profile_setting || quips || series || watch.watched ||
+ watch.watcher || whine_events || whine_schedules || other_safe %]
<div class="warningmessages">
<p>The following deletions are <b>safe</b> and will not generate
referential integrity inconsistencies.</p>
@@ -372,23 +371,6 @@
will have no author anymore, but will remain available.
</li>
[% END %]
- [% IF votes %]
- <li>
- [% otheruser.login FILTER html %] has voted on
- [% IF votes == 1 %]
- [%+ terms.abug %]
- [% ELSE %]
- [%+ votes %] [%+ terms.bugs %]
- [% END %].
- If you delete the user account,
- [% IF votes == 1 %]
- this vote
- [% ELSE %]
- these votes
- [% END %]
- will be deleted along with the user account.
- </li>
- [% END %]
[% IF watch.watched || watch.watcher %]
<li>
[% otheruser.login FILTER html %]
@@ -445,6 +427,7 @@
but the whines themselves will be left unaltered.
</li>
[% END %]
+ [% Hook.process('warn_safe') %]
</ul>
</div>
diff --git a/template/en/default/admin/users/responsibilities.html.tmpl b/template/en/default/admin/users/responsibilities.html.tmpl
index bbf121a..5c9c3f3 100644
--- a/template/en/default/admin/users/responsibilities.html.tmpl
+++ b/template/en/default/admin/users/responsibilities.html.tmpl
@@ -29,6 +29,7 @@
<th>Component</th>
<th>Default Assignee</th>
<th>Default QA Contact</th>
+ <th>Default CC</th>
</tr>
[% FOREACH component = item.components %]
<tr>
@@ -48,6 +49,9 @@
[% component.$responsibility.id == otheruser.id ? "X" : "&nbsp;" %]
</td>
[% END %]
+ <td class="center">
+ [% component.initial_cc.contains(otheruser) ? "X" : "&nbsp;" %]
+ </td>
</tr>
[% END %]
</tbody>
diff --git a/template/en/default/admin/users/userdata.html.tmpl b/template/en/default/admin/users/userdata.html.tmpl
index f23aa1b..9b182fa 100644
--- a/template/en/default/admin/users/userdata.html.tmpl
+++ b/template/en/default/admin/users/userdata.html.tmpl
@@ -61,9 +61,8 @@
<tr>
<th><label for="password">Password:</label></th>
<td>
- <input type="password" size="16" maxlength="16" name="password"
- autocomplete="off"
- id="password" value="" />
+ <input type="password" size="16" name="password" id="password"
+ value="" autocomplete="off" />
[% IF editform %]<br />
(Enter new password to change.)
[% END %]