Commit 4fa178ae authored by Frédéric Buclin's avatar Frédéric Buclin

Bug 920681: Remove the cellspacing and cellpadding attributes from tables

r/a=justdave
parent 5a15633a
......@@ -27,7 +27,6 @@ $vars->{'keywords'} = Bugzilla::Keyword->get_all_with_bug_count();
if (!@{$vars->{keywords}}) {
ThrowUserError("no_keywords");
}
$vars->{'caneditkeywords'} = $user->in_group("editkeywords");
print $cgi->header();
$template->process("reports/keywords.html.tmpl", $vars)
......
......@@ -6,14 +6,9 @@
* defined by the Mozilla Public License, v. 2.0.
*/
.column_header {
background-color: #66f;
}
.warningmessages, .criticalmessages {
background-color: white;
border-style: solid;
border-width: 1px;
border: 1px solid;
padding: 1ex 1ex 1ex 4ex;
margin: 1ex;
}
......@@ -43,20 +38,30 @@ p.areyoureallyreallysure {
font-weight: bold;
}
#admin_table {
#admin_table, #flag_types_bugs, #flag_types_attachments {
border-collapse: collapse;
border: 1px solid black;
}
#admin_table th {
#admin_table th, #flag_types_bugs th, #flag_types_attachments th {
white-space: normal !important;
}
#admin_table th, #admin_table td {
#admin_table th, #admin_table td,
#flag_types_bugs th , #flag_types_bugs td,
#flag_types_attachments th, #flag_types_attachments td {
border: 1px solid black;
padding: 0.3em;
}
table.no-border th, table.no-border td {
border: 0 !important;
}
table.no-border th {
text-align: left;
}
tr.disabled {
background-color: lightgrey;
}
......@@ -131,20 +136,8 @@ th.title {
vertical-align: middle;
}
#edit_custom_field tr {
vertical-align: top;
}
#edit_custom_field th {
text-align: right;
}
#edit_custom_field th.narrow_label {
white-space: normal;
}
#flag_types_bugs tr th, #flag_types_attachments tr th {
text-align: left;
td.max-width {
width: 100%;
}
#flag_types_bugs .inactive, #flag_types_attachments .inactive {
......@@ -155,13 +148,27 @@ th.title {
display: block;
}
table.whining_list {
#flagtype_form div.inline {
white-space: nowrap;
}
#flagtype_form label, #grant_table label {
font-weight:bold;
}
table.whining_list, #group_settings_desc {
border: 1px solid black;
border-collapse: collapse;
width: 100%;
}
table.whining_list th, table.whining_list td {
#group_settings_desc th, #group_settings_desc td {
border: 1px solid black;
padding: 0.3em;
}
table.whining_list th, table.whining_list td,
#admin_table_edit th, #admin_table_edit td {
padding: 0.3em;
}
......@@ -180,3 +187,28 @@ table.schedule_list th, table.search_list th {
text-align: center;
font-weight: bold !important;
}
#settings #update {
margin-top: 2em;
}
#grant_table td, #grant_table th {
text-align: center;
padding: 0.5em;
}
#grant_table th {
padding: 2em 3em 0.5em 3em;
}
#grant_table tr:first-child th {
padding-top: 0.5em;
}
#mass-remove {
max-width: 50%;
}
#mass-remove legend {
white-space: nowrap;
}
......@@ -108,10 +108,7 @@ table.attachment_info td {
padding-bottom: 0.4em;
}
#attachment_attributes label,
#attachment_attributes span.label,
#attachment_actions span.label
{
#attachment_attributes label {
font-weight: bold;
}
......
......@@ -63,7 +63,13 @@
/* Align columns in the "change multiple bugs" form to the right. */
table#form tr th { text-align: right; }
table.bz_buglist td, table.bz_buglist th {
table.bz_buglist {
border-collapse: collapse;
width: 100%;
}
table.bz_buglist td, table.bz_buglist th {
padding: 0.4em;
}
/* we use a first-child class and not the pseudo-class because IE
......@@ -76,7 +82,7 @@ tr.bz_secure td.first-child, a.bz_secure {
}
th.first-child, td.first-child, a.bz_secure {
padding-left: 20px;
padding-left: 20px !important;
}
tr.bz_secure_mode_implied td.first-child {
......@@ -115,6 +121,26 @@ td.bz_total {
color: inherit;
}
#groups_edit_multiple, #quips {
border: 1px solid black;
border-collapse: collapse;
}
#groups_edit_multiple th, #groups_edit_multiple td,
#quips th, #quips td {
border: 1px solid;
padding: 0.3em;
}
#groups_edit_multiple th, #quips th {
text-align: center;
white-space: normal !important;
}
#groups_edit_multiple th.narrow_column {
width: 8em;
}
/* The "filtering" table is specific to request.cgi.
* Same for the "requests" class used for tables. */
......@@ -126,6 +152,17 @@ td.bz_total {
text-align: right;
}
table.requests {
border: 1px solid black;
border-collapse: collapse;
width: 100%;
}
table.requests th, table.requests td {
border: 1px solid;
padding: 0.5em;
}
table.requests th {
text-align: left;
}
......@@ -71,6 +71,10 @@ form#Create #possible_duplicates td { vertical-align: middle; }
height: 500px;
}
#guided_form #description {
display: inline;
}
.good {
color: #090;
}
......
......@@ -12,7 +12,7 @@
color: #000;
background: #fff url("global/body-back.gif") repeat-x;
}
body, td, th, input {
body, td, th, input, dt, #titles {
font-family: Verdana, sans-serif;
font-size: small;
}
......@@ -20,6 +20,11 @@
pre, code, kbd {
font-size: medium;
}
#bugzilla-body {
clear: both;
}
/* global (end) */
/* header (begin) */
......@@ -43,9 +48,14 @@
padding: 0.5em;
}
#common_links {
clear: both;
}
#lang_links_container {
float: right;
}
#lang_links_container .links {
border: none;
padding: .5em;
......@@ -90,10 +100,9 @@
color: #fff;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
font-size: 110%;
margin: 0;
padding: 0.5em;
vertical-align: bottom;
display: table;
}
#titles a {
......@@ -107,20 +116,25 @@
#titles #title {
font-weight: bold;
padding: 0.5em;
white-space: nowrap;
display: table-cell;
}
#titles #subtitle {
font-weight: normal;
width: 100%;
text-align: center;
}
padding: 0.5em;
display: table-cell;
}
#titles #information {
font-weight: normal;
text-align: right;
font-size: 90%;
padding: 0.5em;
white-space: nowrap;
display: table-cell;
}
/* titles (end) */
......@@ -177,6 +191,14 @@
/* link lists (end) */
/* tabs (begin) */
table.tabs {
width: 100%;
}
.tabs th, .tabs td {
padding: 1em;
}
.tabs td {
background: #eee;
text-align: center;
......@@ -289,6 +311,12 @@ div#docslinks {
width: 50em;
}
.bz_comment_text span.quote {
color: #65379c;
/* Make quoted text not wrap. */
white-space: pre;
}
.bz_comment_user, .bz_comment_time, .bz_comment_number,
.bz_private_checkbox, .bz_comment_actions
{
......@@ -342,23 +370,48 @@ div#docslinks {
display: none !important;
}
.bz_comment_text span.quote {
color: #65379c;
/* Make quoted text not wrap. */
white-space: pre;
}
table#flags th,
table#flags td {
vertical-align: middle;
text-align: left;
}
table#email_prefs th,
table#shared_search_prefs th,
table#saved_search_prefs th {
#email_prefs, #saved_search_prefs, #shared_search_prefs,
#bug_activity {
border: 1px solid black;
border-collapse: collapse;
}
#email_prefs th,
#shared_search_prefs th,
#saved_search_prefs th {
text-align: center;
}
#email_prefs th, #email_prefs td,
#shared_search_prefs th, #shared_search_prefs td,
#saved_search_prefs th, #saved_search_prefs td,
#bug_activity td {
border: 1px solid;
padding: 0.3em;
}
#bug_activity td {
vertical-align: top;
}
#user_prefs th, #user_prefs td {
padding: 0.5em;
}
.column_header {
background-color: #66f;
}
.column_header th {
text-align: center;
}
.flag_select {
min-width: 3em;
}
......@@ -371,16 +424,25 @@ input.requestee {
font-size: x-large;
}
#post_err_msg {
clear: both;
}
.warning {
color: red;
}
.throw_error {
background-color: #ff0000;
background-color: red;
color: black;
font-size: 120%;
margin: 1em;
margin-bottom: 2em;
padding: 0.5em 1em;
float: left;
}
.label {
font-weight: bold;
}
.throw_error a:visited {
......@@ -419,6 +481,10 @@ dl dl > dt {
border: 1px solid #333333;
}
#attachment_table th, #attachment_table td {
padding: 0.3em;
}
.bz_attach_extra_info, .bz_info {
font-size: smaller;
}
......@@ -432,6 +498,16 @@ dl dl > dt {
padding-left: 1em;
}
#user_match_table {
border-collapse: collapse;
}
#user_match_table td {
vertical-align: top;
border-bottom: 1px solid black;
padding: 1em 0.5em;
}
div.user_match {
margin-bottom: 1em;
}
......@@ -610,3 +686,9 @@ tr.shared_search {
background-color: #fff7cd;
color: #000;
}
.multi-columns {
columns: 3;
-moz-columns: 3;
-webkit-columns: 3;
}
......@@ -8,7 +8,6 @@
#menu {
width: 10em;
margin-top: 1em;
margin-right: 0.5em;
border: solid thin;
border-spacing: 0px;
......@@ -34,8 +33,13 @@
padding: 0.2em 0.5em;
}
table td {
vertical-align: top;
div.table {
display: inline-table;
}
div.cell {
display: table-cell;
vertical-align: top;
}
td.selected_section {
......
......@@ -8,49 +8,17 @@
/* describecomponents.cgi */
#components_header_table {
margin-bottom: 1em;
}
.product_container {
width: 65%;
}
.product_name {
font-weight: bold;
font-size: 150%;
margin: 0;
}
.product_desc {
/* This is padding instead of margin because it looks better
* with the scrollbar. */
padding: 0 2em;
font-style: italic;
max-height: 5em;
max-height: 8em;
overflow: auto;
}
.instructions {
font-weight: bold;
font-size: 105%;
.component_table th {
padding-right: 1em;
}
.components_header {
margin: 0;
font-size: 140%;
font-weight: bold;
}
.component_table {
margin-top: -1em;
margin-left: 2em;
}
.component_table thead th {
padding-right: 1em;
vertical-align: bottom;
text-align: left;
}
......@@ -62,7 +30,7 @@
.component_table td.component_qa_contact
{
border: none;
padding-top: .5em;
padding-top: 0.5em;
}
.component_name {
......@@ -74,7 +42,7 @@
}
.component_description {
padding-bottom: .5em;
padding-bottom: 0.5em;
color: #333;
}
......@@ -98,6 +66,17 @@
background-color: #cfffdf; /* light green */
}
#tabular_report {
border: 1px dotted black;
border-collapse: collapse;
text-align: center;
}
#tabular_report th, #tabular_report td {
border: 1px dotted;
padding: 0.2em;
}
#graphical_report {
max-width: 100%;
height: auto;
......@@ -133,3 +112,4 @@
#edit_charts input#action-sum, #edit_charts input#action-remove {
width: 7em;
}
......@@ -36,6 +36,16 @@ td.subtotal {
.number .owner_header, .owner .bug_header { background: #ffffff }
.number .owner_header2, .owner .bug_header2 { background: #EFEFEF }
table.owner, table.number, table.zeroitems {
width: 90%;
border-collapse: collapse;
}
.owner th, .owner td, .number th, .number td,
.zeroitems th, .zeroitems td {
padding: 0.2em;
}
.warning_swapped_data {
border: 1px solid red;
margin: 1em;
......
......@@ -172,7 +172,7 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb
[% num_columns = relationships.size %]
<table class="bz_emailprefs" id="email_prefs" border="1">
<table id="email_prefs">
<tr>
<td colspan="[% num_columns FILTER html %]" align="center" width="50%">
<b>When my relationship to this [% terms.bug %] is:</b>
......
......@@ -31,57 +31,38 @@
<p>Your saved searches are as follows:</p>
<blockquote>
<table id="saved_search_prefs" border="1" cellpadding="3">
<tr>
<th>
Search
</th>
<th>
Run
</th>
<th>
Edit
</th>
<th>
Forget
</th>
<th>
Show in
Footer
</th>
<table id="saved_search_prefs">
<tr class="column_header">
<th>Search</th>
<th>Run</th>
<th>Edit</th>
<th>Forget</th>
<th>Show in Footer</th>
[% may_share = user.in_group(Param('querysharegroup')) && queryshare_groups.size %]
[% IF may_share %]
<th>
Share With a Group
</th>
<th>Share With a Group</th>
[% END %]
[% Hook.process('saved-header') %]
</tr>
<tr>
<td>My [% terms.Bugs %]</td>
<td>
[% filtered_username = user.login FILTER uri %]
<a href="[% Param('mybugstemplate').replace('%userid%', filtered_username) %]">Run</a>
</td>
<td>
&nbsp;
</td>
<td>
&nbsp;
</td>
<td></td>
<td></td>
<td align="center">
<input type="checkbox"
name="showmybugslink"
value="1"
[% " checked" IF user.showmybugslink %]>
<input type="checkbox" name="showmybugslink" value="1"
[%+ 'checked="checked"' IF user.showmybugslink %]>
</td>
[% IF may_share %]
<td>
&mdash;
</td>
<td>&mdash;</td>
[% END %]
[% Hook.process('saved-row') %]
</tr>
[% FOREACH q = user.queries %]
<tr [% 'class="shared_search"' IF q.shared_with_group.id %]>
<td>[% q.name FILTER html %]</td>
......@@ -102,7 +83,7 @@
[% issue_hash_token([q.id, q.name]) FILTER uri %]">Forget</a>
[% END %]
</td>
<td align="center">
<td class="center">
<input type="checkbox"
name="link_in_footer_[% q.id FILTER html %]"
value="1"
......@@ -149,28 +130,16 @@
[% IF user.queries_available.size %]
<p>You may use these searches saved and shared by others:</p>
<table id="shared_search_prefs" border="1" cellpadding="3">
<tr>
<th>
Search
</th>
<th>
Shared By
</th>
<th>
Shared To
</th>
<th>
Run
</th>
<th>
Edit
</th>
<th>
Show in
Footer
</th>
<table id="shared_search_prefs">
<tr class="column_header">
<th>Search</th>
<th>Shared By</th>
<th>Shared To</th>
<th>Run</th>
<th>Edit</th>
<th>Show in Footer</th>
</tr>
[% FOREACH q = user.queries_available %]
<tr>
<td>[% q.name FILTER html %]</td>
......@@ -185,7 +154,7 @@
<a href="query.cgi?[% q.edit_link FILTER html %]&amp;known_name=
[% q.name FILTER uri %]">Edit</a>
</td>
<td align="center">
<td class="center">
<input type="checkbox"
name="link_in_footer_[% q.id FILTER html %]"
value="1"
......
......@@ -29,7 +29,7 @@
</p>
[% END %]
<table border="0" cellpadding="8">
<table id="user_prefs">
[% FOREACH name = setting_names %]
[% default_name = name _ '-isdefault' %]
[% default_val = settings.${name}.default_value %]
......
......@@ -8,10 +8,11 @@
[% PROCESS global/header.html.tmpl
title = "Add new classification"
style_urls = ['skins/standard/admin.css']
%]
<form method=post action="editclassifications.cgi">
<table border=0 cellpadding=4 cellspacing=0>
<table id="admin_table_edit">
[% PROCESS "admin/classifications/edit-common.html.tmpl" %]
......
......@@ -11,30 +11,29 @@
style_urls = ['skins/standard/admin.css']
%]
<table border=1 cellpadding=4 cellspacing=0>
<tr class="column_header">
<th valign="top" class="left">Part</th>
<th valign="top" class="left">Value</th>
</tr><tr>
<td valign="top">Classification:</td>
<td valign="top">[% classification.name FILTER html %]</td>
</tr><tr>
<td valign="top">Description:</td>
<td valign="top">
[% IF classification.description %]
[% classification.description FILTER html_light %]
[% ELSE %]
<span class="warning">description missing</span>
[% END %]
</td>
</tr><tr>
<td valign="top">Sortkey:</td>
<td valign="top">[% classification.sortkey FILTER html %]</td>
</tr>
<table id="admin_table">
<tr class="column_header">
<th>Field</th>
<th>Value</th>
</tr>
<tr>
<td>Classification</td>
<td>[% classification.name FILTER html %]</td>
</tr>
<tr>
<td>Description</td>
<td>
[% IF classification.description %]
[% classification.description FILTER html_light %]
[% ELSE %]
<span class="warning">description missing</span>
[% END %]
</td>
</tr>
<tr>
<td>Sortkey</td>
<td>[% classification.sortkey FILTER html %]</td>
</tr>
</table>
<h2>Confirmation</h2>
......
......@@ -8,14 +8,15 @@
[% PROCESS global/header.html.tmpl
title = "Edit classification"
style_urls = ['skins/standard/admin.css']
%]
<form method=post action="editclassifications.cgi">
<table border=0 cellpadding=4 cellspacing=0>
<table id="admin_table_edit">
[% PROCESS "admin/classifications/edit-common.html.tmpl" %]
<tr valign=top>
<tr>
<th>
<a href="editproducts.cgi?classification=[% classification.name FILTER uri %]">
Edit Products</a>:
......@@ -25,8 +26,8 @@
<table>
[% FOREACH product = classification.products %]
<tr>
<th valign=top>[% product.name FILTER html %]</th>
<td valign=top>[% product.description FILTER html_light %]</td>
<th>[% product.name FILTER html %]</th>
<td>[% product.description FILTER html_light %]</td>
</tr>
[% END %]
</table>
......
......@@ -8,38 +8,39 @@
[% PROCESS global/header.html.tmpl
title = "Reclassify products"
style_urls = ['skins/standard/admin.css']
%]
<form method=post action="editclassifications.cgi">
<table border=0 cellpadding=4 cellspacing=0>
<table id="admin_table_edit">
<tr>
<th>Classification:</th>
<td valign="top" colspan=3>[% classification.name FILTER html %]</td>
</tr><tr>
<td colspan=3>[% classification.name FILTER html %]</td>
</tr>
<tr>
<th>Description:</th>
<td valign="top" colspan=3>
<td colspan=3>
[% IF classification.description %]
[% classification.description FILTER html_light %]
[% ELSE %]
<span class="warning">description missing</span>
[% END %]
</td>
</tr><tr>
</tr>
<tr>
<th>Sortkey:</th>
<td valign="top" colspan=3>[% classification.sortkey FILTER html %]</td>
</tr><tr>
<td colspan=3>[% classification.sortkey FILTER html %]</td>
</tr>
<tr>
<th>Products:</th>
<td valign="top">Other Classifications</td>
<td>Other Classifications</td>
<td></td>
<td valign="top">This Classification</td>
</tr><tr>
<td>This Classification</td>
</tr>
<tr>
<td></td>
<td valign="top">
<select name="prodlist" id="prodlist" multiple="multiple" size="20">
<td>
<select name="prodlist" id="prodlist" multiple="multiple" size="20">
[% FOREACH class = classifications %]
[% IF class.id != classification.id %]
[% FOREACH product = class.products %]
......@@ -49,21 +50,23 @@
[% END %]
[% END %]
[% END %]
</select></td>
</select>
</td>
<td align="center">
<td>
<input type=submit value=" Add &gt;&gt; " name="add_products"><br><br>
<input type=submit value="&lt;&lt; Remove" name="remove_products">
</td>
<td valign="middle" rowspan=2>
<td rowspan=2 class="max-width">
<select name="myprodlist" id="myprodlist" multiple="multiple" size="20">
[% FOREACH product = classification.products %]
<option value="[% product.name FILTER html %]">
[% product.name FILTER html %]
</option>
[% END %]
</select></td>
</select>
</td>
</tr>
</table>
......
......@@ -11,9 +11,9 @@
style_urls = ['skins/standard/admin.css']
%]
<table border=1 cellpadding=4 cellspacing=0>
<table id="admin_table">
<tr class="column_header">
<th>Edit Classification ...</th>
<th>Edit Classification...</th>
<th>Description</th>
<th>Sortkey</th>
<th>Products</th>
......@@ -22,26 +22,35 @@
[% FOREACH cl = classifications %]
<tr>
<td valign="top"><a href="editclassifications.cgi?action=edit&amp;classification=[% cl.name FILTER uri %]"><b>[% cl.name FILTER html %]</b></a></td>
<td valign="top">
<td>
<a href="editclassifications.cgi?action=edit&amp;classification=[% cl.name FILTER uri %]">
<b>[% cl.name FILTER html %]</b>
</a>
</td>
<td>
[% IF cl.description %]
[% cl.description FILTER html_light %]
[% ELSE %]
<span class="warning">none</span>
[% END %]
</td>
<td valign="top">[% cl.sortkey FILTER html %]</td>
<td>[% cl.sortkey FILTER html %]</td>
[% IF (cl.id == 1) %]
<td valign="top">[% cl.product_count FILTER html %]</td>
<td>[% cl.product_count FILTER html %]</td>
[% ELSE %]
<td valign="top"><a href="editclassifications.cgi?action=reclassify&amp;classification=[% cl.name FILTER uri %]">reclassify ([% cl.product_count FILTER html %])</a></td>
<td>
<a href="editclassifications.cgi?action=reclassify&amp;classification=[% cl.name FILTER uri %]">
reclassify&nbsp;([% cl.product_count FILTER html %])</a>
</td>
[% END %]
[%# don't allow user to delete the default id. %]
[% IF (cl.id == 1) %]
<td valign="top">&nbsp;</td>
<td></td>
[% ELSE %]
<td valign="top"><a href="editclassifications.cgi?action=del&amp;classification=[% cl.name FILTER uri %]">delete</a></td>
<td>
<a href="editclassifications.cgi?action=del&amp;classification=[% cl.name FILTER uri %]">delete</a>
</td>
[% END %]
</tr>
[% END %]
......
......@@ -22,101 +22,96 @@ from '[% product.name FILTER html %]' product
style_urls = ['skins/standard/admin.css']
%]
<table border="1" cellpadding="4" cellspacing="0">
<tr class="column_header">
<th valign="top" class="left">Field</th>
<th valign="top" class="left">Value</th>
</tr>
<tr>
<td valign="top">Component:</td>
<td valign="top">[% comp.name FILTER html %]</td>
</tr>
<tr>
<td valign="top">Component Description:</td>
<td valign="top">[% comp.description FILTER html_light %]</td>
</tr>
<tr>
<td valign="top">Default assignee:</td>
<td valign="top">[% comp.default_assignee.login FILTER html %]</td>
[% IF Param('useqacontact') %]
</tr>
<tr>
<td valign="top">Default QA contact:</td>
<td valign="top">[% comp.default_qa_contact.login FILTER html %]</td>
[% END %]
</tr>
<tr>
<td valign="top">Component of Product:</td>
<td valign="top">[% product.name FILTER html %]</td>
[% IF product.description %]
</tr>
<tr>
<td valign="top">Product Description:</td>
<td valign="top">[% product.description FILTER html_light %]</td>
[% END %]
<table id="admin_table">
<tr class="column_header">
<th>Field</th>
<th>Value</th>
</tr>
<tr>
<td>Component</td>
<td>[% comp.name FILTER html %]</td>
</tr>
<tr>
<td>Component Description</td>
<td>[% comp.description FILTER html_light %]</td>
</tr>
<tr>
<td>Default assignee</td>
<td>[% comp.default_assignee.login FILTER html %]</td>
</tr>
[% IF Param('useqacontact') %]
<tr>
<td>Default QA contact</td>
<td>[% comp.default_qa_contact.login FILTER html %]</td>
</tr>
[% END %]
[% IF Param('usetargetmilestone') %]
</tr>
<tr>
<td valign="top">Product Milestone URL:</td>
<td valign="top">
<a href="[% product.milestone_url FILTER html %]">
[% product.milestone_url FILTER html %]
</a>
</td>
[% END %]
<tr>
<td>Component of Product</td>
<td>[% product.name FILTER html %]</td>
</tr>
</tr>
<tr>
<TD VALIGN="top">Open for [% terms.bugs %]:</TD>
<TD VALIGN="top">[% IF product.is_active && comp.isactive %]Yes[% ELSE %]No[% END %]</td>
</tr>
<tr>
<td valign="top">[% terms.Bugs %]:</td>
<td valign="top">
[% IF comp.bug_count %]
<a title="List of [% terms.bugs %] for component '[% comp.name FILTER html %]'"
href="buglist.cgi?component=[% comp.name FILTER uri %]&amp;product=
[%- product.name FILTER uri %]">[% comp.bug_count %]</a>
[% ELSE %]
None
[% END %]
</td>
</tr>
[% IF product.description %]
<tr>
<td>Product Description</td>
<td>[% product.description FILTER html_light %]</td>
</tr>
[% END %]
[% IF Param('usetargetmilestone') %]
<tr>
<td>Product Milestone URL</td>
<td>
<a href="[% product.milestone_url FILTER html %]">
[% product.milestone_url FILTER html %]</a>
</td>
</tr>
[% END %]
<tr>
<td>Open for [% terms.bugs %]</td>
<td>[% IF product.is_active && comp.isactive %]Yes[% ELSE %]No[% END %]</td>
</tr>
<tr>
<td>[% terms.Bugs %]</td>
<td>
[% IF comp.bug_count %]
<a title="List of [% terms.bugs %] for component '[% comp.name FILTER html %]'"
href="buglist.cgi?component=[% comp.name FILTER uri %]&amp;product=
[%- product.name FILTER uri %]">[% comp.bug_count %]</a>
[% ELSE %]
None
[% END %]
</td>
</tr>
</table>
<h2>Confirmation</h2>
[% IF comp.bug_count %]
[% IF !Param("allowbugdeletion") %]
<p class="confirmation">
Sorry, there
[% IF comp.bug_count > 1 %]
are [% comp.bug_count %] [%+ terms.bugs %]
[% ELSE %]
is [% comp.bug_count %] [%+ terms.bug %]
[% END %]
outstanding for this component. You must reassign
[% IF comp.bug_count > 1 %]
those [% terms.bugs %]
[% ELSE %]
that [% terms.bug %]
[% END %]
<p class="confirmation">
Sorry, there
[% IF comp.bug_count > 1 %]
are [% comp.bug_count %] [%+ terms.bugs %]
[% ELSE %]
is 1 [% terms.bug %]
[% END %]
outstanding for this component. You must reassign
to another component before you can delete this one.
</p>
[% IF comp.bug_count > 1 %]
those [% terms.bugs %]
[% ELSE %]
that [% terms.bug %]
[% END %]
to another component before you can delete this one.
</p>
[% ELSE %]
<table class="confirmation"><tr><td>
There [% IF comp.bug_count > 1 %]
<p class="confirmation">
There
[% IF comp.bug_count > 1 %]
are [% comp.bug_count %] [%+ terms.bugs %]
[% ELSE %]
is 1 [% terms.bug %]
......@@ -124,8 +119,7 @@ from '[% product.name FILTER html %]' product
entered for this component! When you delete this
component, <b>ALL</b> stored [% terms.bugs %] and
their history will be deleted too.
</td></tr></table>
</p>
[% END %]
[% END %]
......
......@@ -10,21 +10,22 @@
# product: object; Bugzilla::Product object representing the product to
# which the component belongs.
#%]
[% title = BLOCK %]Add component to the [% product.name FILTER html %] product[% END %]
[% PROCESS global/header.html.tmpl
title = title
style_urls = ['skins/standard/admin.css']
yui = [ 'autocomplete' ]
javascript_urls = [ "js/field.js" ]
title = title
%]
<form method="post" action="editcomponents.cgi">
<table border="0" cellpadding="4" cellspacing="0">
<table id="admin_table_edit">
[% PROCESS "admin/components/edit-common.html.tmpl" %]
</table>
<hr>
<input type="submit" id="create" value="Add">
<input type="hidden" name="action" value="new">
<input type="hidden" name='product' value="[% product.name FILTER html %]">
......
......@@ -15,12 +15,12 @@
[% DEFAULT desc_name = "description" %]
<tr>
<th class="field_label"><label for="component">Component:</label></th>
<th><label for="component">Component:</label></th>
<td><input size="64" maxlength="64" name="component" id="component"
value="[%- comp.name FILTER html %]"></td>
</tr>
<tr>
<th class="field_label"><label for="[% desc_name FILTER html %]">Component Description:</label></th>
<th><label for="[% desc_name FILTER html %]">Component Description:</label></th>
<td>
[% INCLUDE global/textarea.html.tmpl
name = desc_name
......@@ -33,7 +33,7 @@
</td>
</tr>
<tr>
<th class="field_label"><label for="initialowner">Default Assignee:</label></th>
<th><label for="initialowner">Default Assignee:</label></th>
<td>
[% INCLUDE global/userselect.html.tmpl
name => "initialowner"
......@@ -45,7 +45,7 @@
</tr>
[% IF Param('useqacontact') %]
<tr>
<th class="field_label"><label for="initialqacontact">Default QA contact:</label></th>
<th><label for="initialqacontact">Default QA contact:</label></th>
<td>
[% INCLUDE global/userselect.html.tmpl
name => "initialqacontact"
......@@ -58,7 +58,7 @@
</tr>
[% END %]
<tr>
<th class="field_label"><label for="initialcc">Default CC List:</label></th>
<th><label for="initialcc">Default CC List:</label></th>
<td>
[% INCLUDE global/userselect.html.tmpl
name => "initialcc"
......@@ -69,7 +69,7 @@
%]
<br>
[% IF !Param("usemenuforusers") %]
<em>Enter user names for the CC list as a comma-separated list.</em>
<span class="bz_info">Enter user names for the CC list as a comma-separated list.</span>
[% END %]
</td>
</tr>
......
......@@ -18,45 +18,44 @@
[% END %]
[% PROCESS global/header.html.tmpl
title = title
style_urls = ['skins/standard/admin.css']
yui = [ 'autocomplete' ]
javascript_urls = [ "js/field.js" ]
%]
<form method="post" action="editcomponents.cgi">
<table border="0" cellpadding="4" cellspacing="0">
<table id="admin_table_edit">
[% PROCESS "admin/components/edit-common.html.tmpl" %]
<tr>
<th class="field_label"><label for="isactive">Enabled For [% terms.Bugs %]:</label></th>
<th><label for="isactive">Enabled For [% terms.Bugs %]:</label></th>
<td><input id="isactive" name="isactive" type="checkbox" value="1"
[% 'checked="checked"' IF comp.isactive %]></td>
</tr>
<tr>
<th class="field_label">[% terms.Bugs %]:</th>
<th>[% terms.Bugs %]:</th>
<td>
[% IF comp.bug_count > 0 %]
<a title="[% terms.Bugs %] in component '[% comp.name FILTER html %]'"
href="buglist.cgi?component=
[%- comp.name FILTER uri %]&amp;product=
[%- product.name FILTER uri %]">[% comp.bug_count %]</a>
[% ELSE %]
None
[% END %]
[% IF comp.bug_count > 0 %]
<a title="[% terms.Bugs %] in component '[% comp.name FILTER html %]'"
href="buglist.cgi?component=
[%- comp.name FILTER uri %]&amp;product=
[%- product.name FILTER uri %]">[% comp.bug_count %]</a>
[% ELSE %]
None
[% END %]
</td>
</tr>
</table>
<input type="hidden" name="action" value="update">
<input type="hidden" name="componentold" value="[% comp.name FILTER html %]">
<input type="hidden" name="product" value="[% product.name FILTER html %]">
<input type="hidden" name="token" value="[% token FILTER html %]">
<input type="submit" value="Save Changes" id="update"> or <a
href="editcomponents.cgi?action=del&amp;product=
[%- product.name FILTER uri %]&amp;component=
[%- comp.name FILTER uri %]">Delete</a> this component.
<input type="submit" value="Save Changes" id="update"> or
<a href="editcomponents.cgi?action=del&amp;product=
[%- product.name FILTER uri %]&amp;component=
[%- comp.name FILTER uri %]">Delete</a> this component.
</form>
[% PROCESS admin/components/footer.html.tmpl
......
......@@ -15,8 +15,9 @@
# if he declines submission.
#%]
[% PROCESS global/header.html.tmpl title = "Suspicious Action"
style_urls = ['skins/standard/global.css'] %]
[% PROCESS global/header.html.tmpl
title = "Suspicious Action"
%]
[% IF abuser %]
<div class="throw_error">
......@@ -27,37 +28,27 @@
is incorrect, meaning that it looks like you didn't come from the right page.
The following token has been used :</p>
<table border="0" cellpadding="5" cellspacing="0">
[% IF token_action != expected_action %]
<tr>
<th>Action&nbsp;stored:</th>
<td>[% token_action FILTER html %]</td>
</tr>
<tr>
<th>&nbsp;</th>
<td>
This action doesn't match the one expected ([% expected_action FILTER html %]).
</td>
</tr>
[% END %]
[% IF token_action != expected_action %]
<p>
<span class="label">Action&nbsp;stored:</span>
[%+ token_action FILTER html %]
<br>
This action doesn't match the one expected ([% expected_action FILTER html %]).
</p>
[% END %]
[% IF abuser != user.identity %]
<tr>
<th>Generated&nbsp;by:</th>
<td>[% abuser FILTER html %]</td>
</tr>
<tr>
<th>&nbsp;</th>
<td>
This token has not been generated by you. It is possible that someone
tried to trick you!
</td>
</tr>
[% END %]
</table>
<p>Please report this problem to [%+ Param("maintainer") FILTER html %].</p>
[% IF abuser != user.identity %]
<p>
<span class="label">Generated&nbsp;by:</span>
[%+ abuser FILTER html %]
<br>
This token has not been generated by you. It is possible that someone
tried to trick you!
</p>
[% END %]
</div>
<p>Please report this problem to [% Param("maintainer") FILTER html %].</p>
[% ELSE %]
<div class="throw_error">
It looks like you didn't come from the right page (you have no valid token for
......
......@@ -23,23 +23,23 @@
doc_section = "custom-fields.html#delete-custom-fields"
%]
<table border="1" cellpadding="4" cellspacing="0">
<tr class="column_header">
<th valign="top" class="left">Field</th>
<th valign="top" class="left">Value</th>
</tr>
<tr>
<td valign="top">Custom Field:</td>
<td valign="top">[% field.name FILTER html %]</td>
</tr>
<tr>
<td valign="top">Description:</td>
<td valign="top">[% field.description FILTER html %]</td>
</tr>
<tr>
<td valign="top">Type:</td>
<td valign="top">[% field_types.${field.type} FILTER html %]</td>
</tr>
<table id="admin_table">
<tr class="column_header">
<th>Field</th>
<th>Value</th>
</tr>
<tr>
<td>Custom Field</td>
<td>[% field.name FILTER html %]</td>
</tr>
<tr>
<td>Description</td>
<td>[% field.description FILTER html %]</td>
</tr>
<tr>
<td>Type</td>
<td>[% field_types.${field.type} FILTER html %]</td>
</tr>
</table>
<h2>Confirmation</h2>
......
......@@ -12,9 +12,9 @@
[% PROCESS "global/field-descs.none.tmpl" %]
<table border="0" cellspacing="0" cellpadding="5" id="edit_custom_field">
<table id="admin_table_edit">
<tr>
<th class="narrow_label"><label for="name">Name:</label></th>
<th><label for="name">Name:</label></th>
<td>
[% IF field %]
[% field.name FILTER html %]
......@@ -34,7 +34,7 @@
</tr>
<tr>
<th class="narrow_label"><label for="desc">Description:</label></th>
<th><label for="desc">Description:</label></th>
<td>
<input type="text" id="desc" name="desc" size="40"
value="[% field.description FILTER html %]">
......@@ -50,7 +50,7 @@
</tr>
<tr>
<th class="narrow_label"><label for="type">Type:</label></th>
<th><label for="type">Type:</label></th>
<td>
[% IF field %]
[% field_types.${field.type} FILTER html %]
......@@ -72,7 +72,7 @@
</tr>
<tr>
<th class="narrow_label"><label for="sortkey">Sortkey:</label></th>
<th><label for="sortkey">Sortkey:</label></th>
<td>
<input type="text" id="sortkey" name="sortkey" size="6" maxlength="6"
value="[% field.sortkey FILTER html %]">
......@@ -86,7 +86,7 @@
</tr>
<tr>
<th class="narrow_label">Long Description:</th>
<th>Long Description:</th>
<td>
[% INCLUDE global/textarea.html.tmpl
name = 'long_desc'
......@@ -147,7 +147,7 @@
<a href="editvalues.cgi?field=[% field.name FILTER uri %]">Edit legal values for this field</a>.
</td>
[% ELSE %]
<th class="narrow_label">
<th>
<label for="reverse_desc">Reverse Relationship Description:</label>
</th>
<td>
......@@ -164,7 +164,7 @@
[% END %]
[% IF !field || field.is_select %]
<th class="narrow_label">
<th>
<label for="value_field_id">
Field that controls the values<br>
that appear in this field:
......
......@@ -22,34 +22,34 @@
style_urls = ['skins/standard/admin.css']
%]
<table border="1" cellpadding="4" cellspacing="0">
<tr class="column_header">
<th valign="top" class="left">Field</th>
<th valign="top" class="left">Value</th>
</tr>
<tr>
<td valign="top">Field Name:</td>
<td valign="top">[% field.description FILTER html %]</td>
</tr>
<tr>
<td valign="top">Field Value:</td>
<td valign="top">[% value.name FILTER html %]</td>
</tr>
<tr>
<td valign="top">[% terms.Bugs %]:</td>
<td valign="top">
[% IF value.bug_count %]
<a title="List of [% terms.bugs %] where '
[%- field.description FILTER html %]' is '
[%- value.name FILTER html %]'"
href="buglist.cgi?[% field.name FILTER uri %]=
[%- value.name FILTER uri %]">
[%- value.bug_count FILTER html %]</a>
[% ELSE %]
None
[% END %]
</td>
</tr>
<table id="admin_table">
<tr class="column_header">
<th>Field</th>
<th>Value</th>
</tr>
<tr>
<td>Field Name</td>
<td>[% field.description FILTER html %]</td>
</tr>
<tr>
<td>Field Value</td>
<td>[% value.name FILTER html %]</td>
</tr>
<tr>
<td>[% terms.Bugs %]</td>
<td>
[% IF value.bug_count %]
<a title="List of [% terms.bugs %] where '
[%- field.description FILTER html %]' is '
[%- value.name FILTER html %]'"
href="buglist.cgi?[% field.name FILTER uri %]=
[%- value.name FILTER uri %]">
[%- value.bug_count FILTER html %]</a>
[% ELSE %]
None
[% END %]
</td>
</tr>
</table>
<h2>Confirmation</h2>
......@@ -149,6 +149,6 @@
[% PROCESS admin/fieldvalues/footer.html.tmpl
no_edit_link = 1
+%]
%]
[% PROCESS global/footer.html.tmpl %]
......@@ -15,6 +15,7 @@
[% END %]
[% PROCESS global/header.html.tmpl
title = title
style_urls = ['skins/standard/admin.css']
%]
<p>
......@@ -23,7 +24,7 @@
</p>
<form method="post" action="editvalues.cgi">
<table border="0" cellpadding="4" cellspacing="0">
<table id="admin_table_edit">
<tr>
<th><label for="value">Value:</label></th>
<td>
......@@ -74,7 +75,7 @@
</option>
[% END %]
</select>
<small>(Leave unset to have this value always appear.)</small>
<span class="bz_info">(Leave unset to have this value always appear.)</span>
</td>
</tr>
[% END %]
......
......@@ -17,15 +17,13 @@
[% END %]
[% PROCESS global/header.html.tmpl
title = title
style_urls = ['skins/standard/admin.css']
%]
<form method="post" action="editvalues.cgi">
<table border="0" cellpadding="4" cellspacing="0">
<table id="admin_table_edit">
<tr>
<th valign="top">
<label for="value_new">Field Value:</label>
</th>
<th><label for="value_new">Field Value:</label></th>
<td>
[% IF value.is_static %]
<input type="hidden" name="value_new" id="value_new"
......@@ -71,7 +69,7 @@
</option>
[% END %]
</select>
<small>(Leave unset to have this value always appear.)</small>
<span class="bz_info">(Leave unset to have this value always appear.)</span>
</td>
</tr>
[% END %]
......
......@@ -48,7 +48,7 @@
# really submit the form, as expected. %]
<input type="submit" id="commit" value="Submit" class="bz_default_hidden">
<table id="form" cellspacing="0" cellpadding="4" border="0">
<table id="admin_table_edit">
<tr>
<th>Name:</th>
<td>
......
......@@ -37,38 +37,38 @@
</p>
<form id="flagtype_form" name="flagtype_form" action="editflagtypes.cgi" method="get">
<table>
<tr>
<th><label for="product">Product:</label></th>
<td>
<select name="product" onchange="selectProduct(this, this.form.component, null, null, '__Any__');">
<option value="">__Any__</option>
[% FOREACH prod = products %]
<option value="[% prod.name FILTER html %]"
[% " selected" IF selected_product == prod.name %]>
[% prod.name FILTER html %]</option>
[% END %]
</select>
</td>
<th><label for="component">Component:</label></th>
<td>
<select name="component">
<option value="">__Any__</option>
[% FOREACH comp = components %]
<option value="[% comp FILTER html %]"
[% " selected" IF selected_component == comp %]>
[% comp FILTER html %]</option>
[% END %]
</select>
</td>
<td>
<input type="checkbox" id="show_flag_counts" name="show_flag_counts" value="1"
[%+ 'checked="checked"' IF show_flag_counts %]>
<label for="show_flag_counts">Show flag counts</label>
</td>
<td><input type="submit" id="submit" value="Filter"></td>
</tr>
</table>
<div class="inline">
<label for="product">Product:</label>
<select id="product" name="product"
onchange="selectProduct(this, this.form.component, null, null, '__Any__');">
<option value="">__Any__</option>
[% FOREACH prod = products %]
<option value="[% prod.name FILTER html %]"
[%+ 'selected="selected"' IF selected_product == prod.name %]>
[%- prod.name FILTER html %]</option>
[% END %]
</select>
</div>
<div class="inline">
<label for="component">Component:</label>
<select name="component">
<option value="">__Any__</option>
[% FOREACH comp = components %]
<option value="[% comp FILTER html %]"
[%+ 'selected="selected"' IF selected_component == comp %]>
[%- comp FILTER html %]</option>
[% END %]
</select>
</div>
<div class="inline">
<input type="checkbox" id="show_flag_counts" name="show_flag_counts" value="1"
[%+ 'checked="checked"' IF show_flag_counts %]>
<label for="show_flag_counts">Show flag counts</label>
</div>
<input type="submit" id="submit" value="Filter">
</form>
<h3>Flag Types for [% terms.Bugs %]</h3>
......@@ -91,7 +91,7 @@
[% BLOCK display_flag_types %]
<table id="flag_types_[% types_id FILTER html %]" cellspacing="0" cellpadding="4" border="1">
<table id="flag_types_[% types_id FILTER html %]">
<tr class="column_header">
<th>Edit name ...</th>
......@@ -113,7 +113,7 @@
<tr class="[% IF type.is_active %]active[% ELSE %]inactive[% END %]">
<td><a href="editflagtypes.cgi?action=edit&amp;id=[% type.id %]">[% type.name FILTER html FILTER no_break %]</a></td>
<td>[% type.description FILTER html %]</td>
<td align="right">[% type.sortkey FILTER html %]</td>
<td class="right">[% type.sortkey FILTER html %]</td>
<td>
[% IF type.is_requestable %]
<span class="requestable">requestable</span>
......
......@@ -13,30 +13,35 @@
[% PROCESS global/header.html.tmpl
title = "Add group"
subheader = "This page allows you to define a new user group."
style_urls = ['skins/standard/admin.css']
doc_section = "groups.html#create-groups"
%]
<form method="post" action="editgroups.cgi">
<table border="1" cellpadding="4" cellspacing="0"><tr>
<th>New Name</th>
<th>New Description</th>
<th>New User RegExp</th>
<th>Use For [% terms.Bugs %]</th>
</tr><tr>
<td><input size="20" name="name"></td>
<td><input size="40" name="desc"></td>
<td><input size="30" name="regexp"></td>
<td><input type="checkbox" name="isactive" value="1" checked></td>
</tr>
<tr>
<th>Icon URL:</th>
<td colspan="3"><input type="text" size="70" maxlength="255" id="icon_url" name="icon_url"></td>
</tr>
[% Hook.process('field') %]
<table id="admin_table_edit">
<tr>
<th>Group Name:</th>
<td><input size="60" maxlength="255" name="name"></td>
</tr>
<tr>
<th>Description:</th>
<td><input size="60" name="desc"></td>
</tr>
<tr>
<th>User Regexp:</th>
<td><input size="60" name="regexp"></td>
</tr>
<tr>
<th>Icon URL:</th>
<td><input type="text" size="60" id="icon_url" name="icon_url"></td>
</tr>
<tr>
<th>Use For [% terms.Bugs %]:</th>
<td><input type="checkbox" name="isactive" value="1" checked></td>
</tr>
[% Hook.process('field') %]
</table>
<hr>
<input type="checkbox" id="insertnew" name="insertnew" value="1"
[% IF Param("makeproductgroups") %] checked[% END %]>
<label for="insertnew">Insert new group into all existing products.</label>
......@@ -46,7 +51,9 @@
<input type="hidden" name="token" value="[% token FILTER html %]">
</form>
<p><b>Name</b> is what is used with the B<!-- blah -->ugzilla->user->in_group()
<hr>
<p><b>Group Name</b> is what is used with the B[%%]ugzilla->user->in_group()
function in any customized cgi files you write that use a given group.
It can also be used by people submitting [% terms.bugs %] by email to
limit [% terms.abug %] to a certain set of groups.</p>
......@@ -55,15 +62,6 @@ limit [% terms.abug %] to a certain set of groups.</p>
to members of the group where they can choose whether
the [% terms.bug %] will be restricted to others in the same group.</p>
<p>The <b>Use For [% terms.Bugs %]</b> flag determines whether or not the
group is eligible to be used for [% terms.bugs %]. If you clear this, it will
no longer be possible for users to add [% terms.bugs %] to this group,
although [% terms.bugs %] already in the group will remain in the group.
Doing so is a much less drastic way to stop a group from growing
than deleting the group would be. <b>Note: If you are creating
a group, you probably want it to be usable for [% terms.bugs %], in which
case you should leave this checked.</b></p>
<p><b>User RegExp</b> is optional, and if filled in, will
automatically grant membership to this group to anyone with an
email address that matches this regular expression.</p>
......@@ -75,6 +73,15 @@ email address that matches this regular expression.</p>
in comments in [% terms.bugs %] besides the name of the author of comments.
</p>
<p>The <b>Use For [% terms.Bugs %]</b> flag determines whether or not the
group is eligible to be used for [% terms.bugs %]. If you clear this, it will
no longer be possible for users to add [% terms.bugs %] to this group,
although [% terms.bugs %] already in the group will remain in the group.
Doing so is a much less drastic way to stop a group from growing
than deleting the group would be. <b>Note: If you are creating
a group, you probably want it to be usable for [% terms.bugs %], in which
case you should leave this checked.</b></p>
[% IF Param("makeproductgroups") %]
<p>By default, the new group will be associated with existing products.
Unchecking the "Insert new group into all existing products" option will
......@@ -87,8 +94,6 @@ email address that matches this regular expression.</p>
a product.</p>
[% END %]
<p>Back to the <a href="./">main [% terms.bugs %] page</a>
or to the <a href="editgroups.cgi">group list</a>.
<p>Back to the <a href="editgroups.cgi">group list</a>.</p>
[% PROCESS global/footer.html.tmpl %]
......@@ -13,21 +13,28 @@
# group.
#%]
[% title = BLOCK %]Delete group '[% group.name FILTER html %]'[% END %]
[% PROCESS global/header.html.tmpl
title = "Delete group"
title = title
style_urls = ['skins/standard/admin.css']
doc_section = "groups.html"
%]
<table border="1">
<tr>
<th>Id</th>
<th>Name</th>
<th>Description</th>
<table id="admin_table">
<tr class="column_header">
<th>Field</th>
<th>Value</th>
</tr>
<tr>
<td>Id</td>
<td>[% group.id FILTER html %]</td>
</tr>
<tr>
<td>Name</td>
<td>[% group.name FILTER html %]</td>
</tr>
<tr>
<td>Description</td>
<td>[% group.description FILTER html_light %]</td>
</tr>
</table>
......@@ -150,7 +157,9 @@
<h2>Confirmation</h2>
<p>Do you really want to delete this group?</p>
<p class="confirmation">
Do you really want to delete this group?
</p>
[% IF group.users.size || group.bugs.size || group.products.size
|| group.flags.size
%]
......
......@@ -18,29 +18,20 @@
[% PROCESS global/header.html.tmpl
title = title
style_urls = ['skins/standard/admin.css']
doc_section = "groups.html#edit-groups"
style = "
.grant_table { border-collapse: collapse; }
.grant_table td, .grant_table th {
padding-left: .5em;
}
.grant_table td.one, .grant_table th.one {
border-right: 1px solid black;
padding-right: .5em;
}
"
%]
<form method="post" action="editgroups.cgi">
<input type="hidden" name="action" value="postchanges">
<input type="hidden" name="group_id" value="[% group.id FILTER html %]">
<table border="1" cellpadding="4">
<table id="admin_table_edit">
<tr>
<th>Group:</th>
<td>
[% IF group.is_bug_group %]
<input type="text" name="name" size="60"
<input type="text" name="name" size="60" maxlength="255"
value="[% group.name FILTER html %]">
[% ELSE %]
[% group.name FILTER html %]
......@@ -52,7 +43,7 @@
<th>Description:</th>
<td>
[% IF group.is_bug_group %]
<input type="text" name="desc" size="70"
<input type="text" name="desc" size="60"
value="[% group.description FILTER html %]">
[% ELSE %]
[% group.description FILTER html %]
......@@ -63,7 +54,7 @@
<tr>
<th>User Regexp:</th>
<td>
<input type="text" name="regexp" size="40"
<input type="text" name="regexp" size="60"
value="[% group.user_regexp FILTER html %]">
</td>
</tr>
......@@ -76,7 +67,7 @@
[% END %]
</th>
<td>
<input type="text" name="icon_url" size="70" maxlength="255"
<input type="text" name="icon_url" size="60"
value="[% group.icon_url FILTER html %]">
</td>
</tr>
......@@ -95,78 +86,72 @@
<h4>Group Permissions</h4>
<table class="grant_table">
<table id="grant_table">
<tr>
<th class="one">Groups That Are a Member of This Group<br>
(&quot;Users in <var>X</var> are automatically in
[%+ group.name FILTER html %]&quot;)</th>
<th>Groups That This Group Is a Member Of<br>
(&quot;If you are in [% group.name FILTER html %], you are
automatically also in...&quot;)</th>
<th colspan="2">
Groups That Are a Member of This Group<br>
("Users in <var>X</var> are automatically in [% group.name FILTER html %]")
</th>
<th colspan="2">
Groups That This Group Is a Member Of<br>
("If you are in [% group.name FILTER html %], you are automatically also in...")
</th>
</tr>
<tr>
<td class="one">
[% PROCESS select_pair name = "members" size = 10
items_available = members_available
items_current = members_current %]
</td>
<td>[% PROCESS select_pair name = "member_of" size = 10
items_available = member_of_available
items_current = member_of_current %]</td>
[% PROCESS select_pair name = "members" size = 10
items_available = members_available
items_current = members_current %]
[% PROCESS select_pair name = "member_of" size = 10
items_available = member_of_available
items_current = member_of_current %]
</tr>
</table>
<table class="grant_table">
<tr>
<th class="one">
<th colspan="2">
Groups That Can Grant Membership in This Group<br>
(&quot;Users in <var>X</var> can add other users to
[%+ group.name FILTER html %]&quot;)
("Users in <var>X</var> can add other users to [% group.name FILTER html %]")
</th>
<th colspan="2">
Groups That This Group Can Grant Membership In<br>
("Users in [% group.name FILTER html %] can add users to...")
</th>
<th>Groups That This Group Can Grant Membership In<br>
(&quot;Users in [% group.name FILTER html %] can add users to...&quot;)
</th>
</tr>
<tr>
<td class="one">
[% PROCESS select_pair name = "bless_from" size = 10
items_available = bless_from_available
items_current = bless_from_current %]
</td>
<td>[% PROCESS select_pair name = "bless_to" size = 10
items_available = bless_to_available
items_current = bless_to_current %]
</td>
[% PROCESS select_pair name = "bless_from" size = 10
items_available = bless_from_available
items_current = bless_from_current %]
[% PROCESS select_pair name = "bless_to" size = 10
items_available = bless_to_available
items_current = bless_to_current %]
</tr>
</table>
[% IF Param('usevisibilitygroups') %]
<table class="grant_table">
[% IF Param('usevisibilitygroups') %]
<tr>
<th class="one">
<th colspan="2">
Groups That Can See This Group<br>
(&quot;Users in <var>X</var> can see users in
[%+ group.name FILTER html %]&quot;)
("Users in <var>X</var> can see users in [% group.name FILTER html %]")
</th>
<th colspan="2">
Groups That This Group Can See<br>
("Users in [% group.name FILTER html %] can see users in...")
</th>
<th>Groups That This Group Can See<br>
(&quot;Users in [% group.name FILTER html %] can see users in...&quot;)
</th>
</tr>
<tr>
<td class="one">
[% PROCESS select_pair name = "visible_from" size = 10
items_available = visible_from_available
items_current = visible_from_current %]
</td>
<td>[% PROCESS select_pair name = "visible_to_me" size = 10
items_available = visible_to_me_available
items_current = visible_to_me_current %]
</td>
[% PROCESS select_pair name = "visible_from" size = 10
items_available = visible_from_available
items_current = visible_from_current %]
[% PROCESS select_pair name = "visible_to_me" size = 10
items_available = visible_to_me_available
items_current = visible_to_me_current %]
</tr>
</table>
[% END %]
[% END %]
</table>
<input type="submit" id="update-group" value="Update Group">
<input type="hidden" name="token" value="[% token FILTER html %]">
......@@ -178,9 +163,8 @@
This is often very useful if you upgraded from [% terms.Bugzilla %]
2.16.</p>
<table><tr><td>
<form method="post" action="editgroups.cgi">
<fieldset>
<fieldset id="mass-remove">
<legend>Remove all explicit memberships from users whose login names
match the following regular expression:</legend>
<input type="text" size="20" name="regexp">
......@@ -193,41 +177,35 @@
<input type="hidden" name="group_id" value="[% group.id FILTER html %]">
</fieldset>
</form>
</td></tr></table>
<p>Back to the <a href="editgroups.cgi">group list</a>.</p>
[% PROCESS global/footer.html.tmpl %]
[% BLOCK select_pair %]
<table class="select_pair">
<tr>
<th><label for="[% "${name}_add" FILTER html %]">Add<br>
(select to add)</label></th>
<th><label for="[% "${name}_remove" FILTER html %]">Current<br>
(select to remove)</label></th>
</tr>
<tr>
<td>
<select multiple="multiple" size="[% size FILTER html %]"
name="[% "${name}_add" FILTER html %]"
id="[% "${name}_add" FILTER html %]">
[% FOREACH item = items_available %]
<option value="[% item.id FILTER html %]">
[% item.name FILTER html %]</option>
[% END %]
</select>
</td>
<td>
<select multiple="multiple" size="[% size FILTER html %]"
name="[% "${name}_remove" FILTER html %]"
id="[% "${name}_remove" FILTER html %]">
[% FOREACH item = items_current %]
<option value="[% item.id FILTER html %]">
[% item.name FILTER html %]</option>
[% END %]
</select>
</td>
</tr>
</table>
<td>
<label for="[% "${name}_add" FILTER html %]">Add<br>(select to add)</label>
<br>
<select multiple="multiple" size="[% size FILTER html %]"
name="[% "${name}_add" FILTER html %]"
id="[% "${name}_add" FILTER html %]">
[% FOREACH item = items_available %]
<option value="[% item.id FILTER html %]">
[% item.name FILTER html %]</option>
[% END %]
</select>
</td>
<td>
<label for="[% "${name}_remove" FILTER html %]">Current<br>(select to remove)</label>
<br>
<select multiple="multiple" size="[% size FILTER html %]"
name="[% "${name}_remove" FILTER html %]"
id="[% "${name}_remove" FILTER html %]">
[% FOREACH item = items_current %]
<option value="[% item.id FILTER html %]">
[% item.name FILTER html %]</option>
[% END %]
</select>
</td>
[% END %]
......@@ -12,26 +12,29 @@
[% PROCESS global/header.html.tmpl
title = "Delete Keyword"
style_urls = ['skins/standard/admin.css']
%]
<p>
<h2>Confirmation</h2>
<p class="confirmation">
[% IF keyword.bug_count == 1 %]
There is one [% terms.bug %] with this keyword set.
There is one [% terms.bug %]
[% ELSIF keyword.bug_count > 1 %]
There are [% keyword.bug_count FILTER html %] [%+ terms.bugs %] with
this keyword set.
There are [% keyword.bug_count FILTER html %] [%+ terms.bugs %]
[% END %]
Are you <b>sure</b> you want to delete
the <code>[% keyword.name FILTER html %]</code> keyword?
with the <em>[% keyword.name FILTER html %]</em> keyword set.
</p>
<p>
Do you really want to delete this keyword?
</p>
<form method="post" action="editkeywords.cgi">
<input type="hidden" name="id" value="[% keyword.id FILTER html %]">
<input type="hidden" name="action" value="delete">
<input type="hidden" name="token" value="[% token FILTER html %]">
<input type="submit" id="delete"
value="Yes, really delete the keyword">
<input type="submit" id="delete" value="Yes, delete">
</form>
<p><a href="editkeywords.cgi">Edit other keywords</a>.</p>
......
......@@ -9,14 +9,15 @@
[%# INTERFACE:
# none
#%]
[% PROCESS global/header.html.tmpl
title = "Add keyword"
subheader = "This page allows you to add a new keyword."
style_urls = ['skins/standard/admin.css']
%]
<form method="post" action="editkeywords.cgi">
<table border="0" cellpadding="4" cellspacing="0">
<table id="admin_table_edit">
<tr>
<th>Name:</th>
<td><input size="64" maxlength="64" name="name" value=""></td>
......@@ -33,13 +34,15 @@
</td>
</tr>
</table>
<hr>
<input type="hidden" name="id" value="-1">
<input type="submit" id="create" value="Add">
<input type="hidden" name="action" value="new">
<input type="hidden" name="token" value="[% token FILTER html %]">
</form>
<hr>
<p><a href="editkeywords.cgi">Edit other keywords</a>.</p>
[% PROCESS global/footer.html.tmpl %]
......@@ -12,10 +12,11 @@
[% PROCESS global/header.html.tmpl
title = "Edit keyword"
style_urls = ['skins/standard/admin.css']
%]
<form method="post" action="editkeywords.cgi">
<table border="0" cellpadding="4" cellspacing="0">
<table id="admin_table_edit">
<tr>
<th>Name:</th>
<td><input size="64" maxlength="64" name="name"
......
......@@ -21,33 +21,33 @@
style_urls = ['skins/standard/admin.css']
%]
<table border="1" cellpadding="4" cellspacing="0">
<tr class="column_header">
<th valign="top" class="left">Field</th>
<th valign="top" class="left">Value</th>
</tr>
<tr>
<td valign="top">Milestone:</td>
<td valign="top">[% milestone.name FILTER html %]</td>
</tr>
<tr>
<td valign="top">Milestone of Product:</td>
<td valign="top">[% product.name FILTER html %]</td>
</tr>
<tr>
<td valign="top">[% terms.Bugs %]:</td>
<td valign="top">
[% IF milestone.bug_count %]
<a title="List of [% terms.bugs %] targetted at milestone '
[% milestone.name FILTER html %]'"
href="buglist.cgi?target_milestone=[% milestone.name FILTER uri %]&amp;product=
[%- product.name FILTER uri %]">
<table id="admin_table">
<tr class="column_header">
<th>Field</th>
<th>Value</th>
</tr>
<tr>
<td>Milestone</td>
<td>[% milestone.name FILTER html %]</td>
</tr>
<tr>
<td>Milestone of Product</td>
<td>[% product.name FILTER html %]</td>
</tr>
<tr>
<td>[% terms.Bugs %]</td>
<td>
[% IF milestone.bug_count %]
<a title="List of [% terms.bugs %] targetted at milestone '
[%- milestone.name FILTER html %]'"
href="buglist.cgi?target_milestone=[% milestone.name FILTER uri %]&amp;product=
[%- product.name FILTER uri %]">
[% milestone.bug_count FILTER none %]</a>
[% ELSE %]
None
[% END %]
</td>
</tr>
[% ELSE %]
None
[% END %]
</td>
</tr>
</table>
<h2>Confirmation</h2>
......
......@@ -17,11 +17,12 @@
[% PROCESS global/header.html.tmpl
title = title
subheader = subheader
style_urls = ['skins/standard/admin.css']
onload = "document.forms['f'].milestone.focus()"
%]
<form name="f" method="post" action="editmilestones.cgi">
<table border="0" cellpadding="4" cellspacing="0">
<table id="admin_table_edit">
<tr>
<th><label for="milestone">Milestone:</label></th>
<td><input id="milestone" size="64" maxlength="64" name="milestone"
......
......@@ -17,24 +17,24 @@
[%- product.name FILTER html %]'[% END %]
[% PROCESS global/header.html.tmpl
title = title
style_urls = ['skins/standard/admin.css']
onload = "document.forms['f'].milestone.select()"
%]
<form name="f" method="post" action="editmilestones.cgi">
<table border="0" cellpadding="4" cellspacing="0">
<table id="admin_table_edit">
<tr>
<th class="field_label"><label for="milestone">Milestone:</label></th>
<th><label for="milestone">Milestone:</label></th>
<td><input id="milestone" size="64" maxlength="64" name="milestone" value="
[%- milestone.name FILTER html %]"></td>
</tr>
<tr>
<th class="field_label"><label for="sortkey">Sortkey:</label></th>
<th><label for="sortkey">Sortkey:</label></th>
<td><input id="sortkey" size="20" maxlength="20" name="sortkey" value="
[%- milestone.sortkey FILTER html %]"></td>
</tr>
<tr>
<th class="field_label"><label for="isactive">Enabled For [% terms.Bugs %]:</label></th>
<th><label for="isactive">Enabled For [% terms.Bugs %]:</label></th>
<td><input id="isactive" name="isactive" type="checkbox" value="1"
[% 'checked="checked"' IF milestone.isactive %]></td>
</tr>
......
......@@ -40,9 +40,8 @@
doc_section = "parameters.html"
%]
<table border="0" width="100%">
<tr>
<td>
<div class="table">
<div class="cell">
[%# NAVIGATION BAR %]
<table id="menu">
<tr>
......@@ -66,8 +65,9 @@
</tr>
[% END %]
</table>
</td>
<td>
</div>
<div class="cell">
[% IF curpanel == -1 %]
[% PROCESS admin/params/index.html.tmpl panels = panels %]
[% ELSE %]
......@@ -96,8 +96,7 @@
<input type="submit" id="save-params" value="Save Changes">
</form>
[% END %]
</td>
</tr>
</table>
</div>
</div>
[% INCLUDE global/footer.html.tmpl %]
......@@ -24,20 +24,19 @@
style_urls = ['skins/standard/admin.css']
%]
<table border="1" cellpadding="4" cellspacing="0">
<table id="admin_table">
<tr class="column_header">
<th valign="top" class="left">Field</th>
<th valign="top" class="left">Value</th>
<th>Field</th>
<th>Value</th>
</tr>
[% IF Param('useclassification') %]
<tr>
<td>Classification:</td>
<td>Classification</td>
<td>[% classification.name FILTER html %]</td>
</tr>
<tr>
<td>Classification Description:</td>
[%# descriptions are intentionally not filtered to allow html content %]
<td>Classification Description</td>
<td>
[% IF classification.description %]
[% classification.description FILTER html_light %]
......@@ -49,22 +48,21 @@
[% END %]
<tr>
<td valign="top">Product:</td>
<td valign="top">
<td>Product</td>
<td>
<a href="editproducts.cgi?product=[% product.name FILTER uri %]">
[% product.name FILTER html %]
</a>
</td>
</tr>
<tr>
<td valign="top">Description:</td>
[%# descriptions are intentionally not filtered to allow html content %]
<td valign="top">[% product.description FILTER html_light %]</td>
<td>Description</td>
<td>[% product.description FILTER html_light %]</td>
</tr>
[% IF Param('usetargetmilestone') %]
<tr>
<td>Milestone URL:</td>
<td>Milestone URL</td>
<td>
[% IF product.milestone_url %]
<a href="[% product.milestone_url FILTER html %]">
......@@ -78,7 +76,7 @@
[% END %]
<tr>
<td>Closed for [% terms.bugs %]:</td>
<td>Closed for [% terms.bugs %]</td>
<td>
[% IF product.is_active %]
open
......@@ -93,15 +91,15 @@
[% IF product.components.size > 0 %]
<a href="editcomponents.cgi?product=[% product.name FILTER uri %]"
title="Edit components for product '[% product.name FILTER html %]'">
Components:
Components
</a>
[% ELSE %]
Components:
Components
[% END %]
</td>
<td>
[% IF product.components.size > 0 %]
<table>
<table class="no-border">
[% FOREACH c = product.components %]
<tr>
<th>[% c.name FILTER html %]:</th>
......@@ -119,17 +117,19 @@
<td>
[% IF product.versions.size > 0 %]
<a href="editversions.cgi?product=[%- product.name FILTER uri %]">
Versions:
Versions
</a>
[% ELSE %]
Versions:
Versions
[% END %]
</td>
<td>
[% IF product.versions.size > 0 %]
[% FOREACH v = product.versions %]
[% v.name FILTER html %]<br>
[% END %]
<div class="multi-columns">
[% FOREACH v = product.versions %]
[% v.name FILTER html %]<br>
[% END %]
</div>
[% ELSE %]
none
[% END %]
......@@ -139,20 +139,22 @@
[% IF Param('usetargetmilestone') %]
<tr>
<td valign="top">
<td>
[% IF product.milestones.size > 0 %]
<a href="editmilestones.cgi?product=[%- product.name FILTER uri %]">
Milestones:
Milestones
</a>
[% ELSE %]
Milestones:
Milestones
[% END %]
</td>
<td>
[% IF product.milestones.size > 0 %]
[% FOREACH m = product.milestones %]
[% m.name FILTER html %]<br>
[% END %]
<div class="multi-columns">
[% FOREACH m = product.milestones %]
[% m.name FILTER html %]<br>
[% END %]
</div>
[% ELSE %]
none
[% END %]
......@@ -161,7 +163,7 @@
[% END %]
<tr>
<td>[% terms.Bugs %]:</td>
<td>[% terms.Bugs %]</td>
<td>
[% IF product.bug_count %]
<a href="buglist.cgi?product=[% product.name FILTER uri %]"
......@@ -181,41 +183,34 @@
[% IF !Param("allowbugdeletion") %]
<p class="confirmation">Sorry, there
[% IF product.bug_count > 1 %]
are [% product.bug_count FILTER html %] [%+ terms.bugs %]
[% ELSE %]
is 1 [% terms.bug %]
[% END %]
outstanding for this product. You must reassign
[% IF product.bug_count > 1 %]
those [% terms.bugs %]
[% ELSE %]
that [% terms.bug %]
[% END %]
to another product before you can delete this one.</p>
<p class="confirmation">
Sorry, there
[% IF product.bug_count > 1 %]
are [% product.bug_count FILTER html %] [%+ terms.bugs %]
[% ELSE %]
is 1 [% terms.bug %]
[% END %]
outstanding for this product. You must reassign
[% IF product.bug_count > 1 %]
those [% terms.bugs %]
[% ELSE %]
that [% terms.bug %]
[% END %]
to another product before you can delete this one.
</p>
[% ELSE %]
<table class="confirmation">
<tr>
<td>
There
[% IF product.bug_count > 1 %]
are [% product.bug_count FILTER html %] [%+ terms.bugs %]
[% ELSE %]
is 1 [% terms.bug %]
[% END %]
entered for this product! When you delete this
product, <b>ALL</b> stored [% terms.bugs %] and
their history will be deleted, too.
</td>
</tr>
</table>
<p class="confirmation">
There
[% IF product.bug_count > 1 %]
are [% product.bug_count FILTER html %] [%+ terms.bugs %]
[% ELSE %]
is 1 [% terms.bug %]
[% END %]
entered for this product! When you delete this product, <b>ALL</b>
stored [% terms.bugs %] and their history will be deleted, too.
</p>
[% END %]
......
......@@ -30,7 +30,7 @@
%]
<form method="post" action="editproducts.cgi">
<table border="0" cellpadding="4" cellspacing="0">
<table id="admin_table_edit">
[% PROCESS "admin/products/edit-common.html.tmpl" %]
......
......@@ -30,12 +30,12 @@
%]
<form method="post" action="editproducts.cgi">
<table border="0" cellpadding="4" cellspacing="0">
<table id="admin_table_edit">
[% PROCESS "admin/products/edit-common.html.tmpl" %]
<tr>
<th valign="top">
<th>
<a href="editcomponents.cgi?product=[% product.name FILTER uri %]">
Edit components:
</a>
......@@ -55,16 +55,16 @@
</td>
</tr>
<tr>
<th valign="top">
<a href="editversions.cgi?product=[% product.name FILTER uri %]">Edit
versions:</a>
<th>
<a href="editversions.cgi?product=[% product.name FILTER uri %]">Edit versions:</a>
</th>
<td>
[%- IF product.versions.size -%]
[% FOREACH v = product.versions %]
[% v.name FILTER html %]
<br>
[% END %]
<div class="multi-columns">
[% FOREACH v = product.versions %]
[% v.name FILTER html %]<br>
[% END %]
</div>
[% ELSE %]
<span class="warning">missing</span>
[% END %]
......@@ -72,16 +72,17 @@ versions:</a>
</tr>
[% IF Param('usetargetmilestone') %]
<tr>
<th valign="top">
<th>
<a href="editmilestones.cgi?product=[% product.name FILTER uri %]">
Edit milestones:</a>
</th>
<td>
[%- IF product.milestones.size -%]
[%- FOREACH m = product.milestones -%]
[% m.name FILTER html %]
<br>
[% END %]
<div class="multi-columns">
[%- FOREACH m = product.milestones -%]
[% m.name FILTER html %]<br>
[% END %]
</div>
[% ELSE %]
<span class="warning">missing</span>
[% END %]
......@@ -89,7 +90,7 @@ versions:</a>
</tr>
[% END %]
<tr>
<th valign="top">
<th>
<a href="editproducts.cgi?action=editgroupcontrols&product=
[%- product.name FILTER uri %]">
Edit Group Access Controls:
......@@ -98,7 +99,7 @@ versions:</a>
<td>
[% IF product.group_controls.size %]
[% FOREACH g = product.group_controls.values.sort("name") %]
<b>[% g.group.name FILTER html %]:</b>&nbsp;
<b>[% g.group.name FILTER html %]:</b>
[% IF g.group.isactive %]
[% group_control.${g.membercontrol} FILTER html %]/
[% group_control.${g.othercontrol} FILTER html %]
......@@ -119,8 +120,10 @@ versions:</a>
</tr>
<tr>
<th>[% terms.Bugs %]:</th>
<td><a href="buglist.cgi?product=[% product.name FILTER uri %]">
[% product.bug_count FILTER html %]</a></td>
<td>
<a href="buglist.cgi?product=[% product.name FILTER uri %]">
[% product.bug_count FILTER html %]</a>
</td>
</tr>
</table>
......
......@@ -24,7 +24,7 @@
<input type="hidden" name="product" value="[% product.name FILTER html %]">
<input type="hidden" name="token" value="[% token FILTER html %]">
<table id="form" cellspacing="0" cellpadding="4" border="1">
<table id="admin_table">
<tr class="column_header">
<th>Group</th>
<th>Entry</th>
......@@ -40,7 +40,7 @@
[% IF !group.group.isactive %]
<tr class="disabled">
<td>[% group.group.name FILTER html %]</td>
<td align="center" colspan="7">Disabled</td>
<td class="center" colspan="7">Disabled</td>
<td>[% group.bug_count FILTER html %]</td>
</tr>
[% ELSE %]
......@@ -167,7 +167,7 @@ indicate which [% terms.bugs %] will be placed in
this group according to the following definitions.
</p>
<table border=1>
<table id="group_settings_desc">
<tr>
<th>
MemberControl
......
......@@ -16,41 +16,38 @@
#%]
[% PROCESS global/header.html.tmpl
title = "Default Preferences"
%]
title = "Default Preferences"
style_urls = ['skins/standard/admin.css']
%]
[% PROCESS "global/setting-descs.none.tmpl" %]
<p>
This lets you edit the default preferences values.
This lets you edit the default preferences values. The Default Value displayed
for each preference will apply to all users who do not choose their own value,
and to anyone who is not logged in.
</p>
<p>
The Default Value displayed for each preference will apply to all users who
do not choose their own value, and to anyone who is not logged in.
</p>
<p>
The 'Enabled' checkbox controls whether or not this preference is available
to users.<br>
If it is checked, users will see this preference on their User Preferences page,
and will be allowed to choose their own value if they desire.<br>
If it is not checked, this preference will not appear on the User Preference
page, and the Default Value will automatically apply to everyone.
</p>
<hr>
[% IF settings.size %]
<form name="adminsettingform" method="post" action="editsettings.cgi">
<table border="1" cellpadding="4">
<tr>
<th>Preference Text</th>
<th>Default Value</th>
<th>Enabled</th>
</tr>
<div>
The 'Enabled' checkbox controls whether or not this preference is available to users:
<ul>
<li>If it is checked, users will be allowed to choose their own value if they desire.</li>
<li>If it is not checked, the Default Value will automatically apply to everyone.</li>
</ul>
</div>
<form id="settings" method="post" action="editsettings.cgi">
<table id="admin_table">
<tr class="column_header">
<th>Preference Text</th>
<th>Default Value</th>
<th>Enabled</th>
</tr>
[% FOREACH name = settings.keys %]
[% FOREACH name = settings.keys %]
[% checkbox_name = name _ '-enabled' %]
<tr>
<td align="right">
<td>
[% setting_descs.$name OR name FILTER html %]
</td>
<td>
......@@ -63,31 +60,19 @@ page, and the Default Value will automatically apply to everyone.
[% END %]
</select>
</td>
<td align="center">
<td class="center">
<input type="checkbox"
name="[% checkbox_name FILTER html %]"
id="[% checkbox_name FILTER html %]"
[% " checked=\"checked\"" IF settings.${name}.is_enabled %]>
<br>
</td>
</tr>
[% END %]
[% END %]
</table>
<input type="hidden" name="action" value="update">
<input type="hidden" name="token" value="[% token FILTER html %]">
<table>
<tr>
<td width="150"></td>
<td>
<input type="submit" id="update" value="Submit Changes">
</td>
</tr>
</table>
<input type="submit" id="update" value="Submit Changes">
</form>
[% ELSE %]
There are no preferences to edit.
[% END %]
[% PROCESS global/footer.html.tmpl %]
......@@ -7,7 +7,7 @@
#%]
[% hidden_products = 0 %]
<table id="user_responsibilities" border="0">
<table id="user_responsibilities">
[% FOREACH item = otheruser.product_responsibilities %]
[% IF !user.can_see_product(item.product.name) %]
[% hidden_products = 1 %]
......
......@@ -21,33 +21,33 @@
style_urls = ['skins/standard/admin.css']
%]
<table border="1" cellpadding="4" cellspacing="0">
<tr class="column_header">
<th valign="top" class="left">Field</th>
<th valign="top" class="left">Value</th>
</tr>
<tr>
<td valign="top">Version:</td>
<td valign="top">[% version.name FILTER html %]</td>
</tr>
<tr>
<td valign="top">Version of Product:</td>
<td valign="top">[% product.name FILTER html %]</td>
</tr>
<tr>
<td valign="top">[% terms.Bugs %]:</td>
<td valign="top">
[% IF version.bug_count %]
<a title="List of [% terms.bugs %] targetted at version '
[%- version.name FILTER html %]'"
href="buglist.cgi?version=[% version.name FILTER uri %]&amp;product=
[%- product.name FILTER uri %]">
[%- version.bug_count FILTER none %]</a>
[% ELSE %]
None
[% END %]
</td>
</tr>
<table id="admin_table">
<tr class="column_header">
<th>Field</th>
<th>Value</th>
</tr>
<tr>
<td>Version</td>
<td>[% version.name FILTER html %]</td>
</tr>
<tr>
<td>Version of Product</td>
<td>[% product.name FILTER html %]</td>
</tr>
<tr>
<td>[% terms.Bugs %]</td>
<td>
[% IF version.bug_count %]
<a title="List of [% terms.bugs %] targetted at version '
[%- version.name FILTER html %]'"
href="buglist.cgi?version=[% version.name FILTER uri %]&amp;product=
[%- product.name FILTER uri %]">
[%- version.bug_count FILTER none %]</a>
[% ELSE %]
None
[% END %]
</td>
</tr>
</table>
<h2>Confirmation</h2>
......
......@@ -17,10 +17,11 @@
[% PROCESS global/header.html.tmpl
title = title
subheader = subheader
style_urls = ['skins/standard/admin.css']
%]
<form method="post" action="editversions.cgi">
<table border="0" cellpadding="4" cellspacing="0">
<table id="admin_table_edit">
<tr>
<th><label for="version">Version:</label></th>
<td><input id="version" size="64" maxlength="64" name="version"
......
......@@ -17,20 +17,24 @@
[%- product.name FILTER html %]'[% END %]
[% PROCESS global/header.html.tmpl
title = title
style_urls = ['skins/standard/admin.css']
%]
<form method="post" action="editversions.cgi">
<table border="0" cellpadding="4" cellspacing="0">
<table id="admin_table_edit">
<tr>
<th class="field_label"><label for="version">Version:</label></th>
<td><input id="version" size="64" maxlength="64" name="version" value="
[%- version.name FILTER html %]"></td>
<th><label for="version">Version:</label></th>
<td>
<input id="version" size="64" maxlength="64" name="version"
value="[% version.name FILTER html %]">
</td>
</tr>
<tr>
<th class="field_label"><label for="isactive">Enabled For [% terms.Bugs %]:</label></th>
<td><input id="isactive" name="isactive" type="checkbox" value="1"
[% 'checked="checked"' IF version.isactive %]></td>
<th><label for="isactive">Enabled For [% terms.Bugs %]:</label></th>
<td>
<input id="isactive" name="isactive" type="checkbox" value="1"
[% 'checked="checked"' IF version.isactive %]>
</td>
</tr>
</table>
......
......@@ -21,48 +21,44 @@
doc_section = "attachments.html"
%]
<table border="1" cellpadding="4" cellspacing="0">
<table id="admin_table">
<tr class="column_header">
<th valign="top" class="left">Field</th>
<th valign="top" class="left">Value</th>
<th>Field</th>
<th>Value</th>
</tr>
<tr>
<td valign="top">Attachment ID:</td>
<td valign="top">
<td>Attachment ID</td>
<td>
<a href="attachment.cgi?id=[% a.id FILTER html %]">[% a.id FILTER html %]</a>
</td>
</tr>
<tr>
<td valign="top">File name:</td>
<td valign="top">[% a.filename FILTER html %]</td>
<td>File name</td>
<td>[% a.filename FILTER html %]</td>
</tr>
<tr>
<td valign="top">Description:</td>
<td valign="top">[% a.description FILTER html %]</td>
<td>Description</td>
<td>[% a.description FILTER html %]</td>
</tr>
<tr>
<td valign="top">Contained in [% terms.Bug %]:</td>
<td valign="top">[% a.bug_id FILTER bug_link(a.bug_id) FILTER none %]</td>
<td>Contained in [% terms.Bug %]</td>
<td>[% a.bug_id FILTER bug_link(a.bug_id) FILTER none %]</td>
</tr>
<tr>
<td valign="top">Creator:</td>
<td valign="top">[% a.attacher.identity FILTER html %]</td>
<td>Creator</td>
<td>[% a.attacher.identity FILTER html %]</td>
</tr>
<tr>
<td valign="top">Creation Date:</td>
<td valign="top">[% a.attached FILTER time %]</td>
<td>Creation Date</td>
<td>[% a.attached FILTER time %]</td>
</tr>
</table>
<h2>Confirmation</h2>
<table class="confirmation">
<tr>
<td>
The content of this attachment will be deleted in an <b>irreversible</b> way.
</td>
</tr>
</table>
<p class="confirmation">
The content of this attachment will be deleted in an <b>irreversible</b> way.
</p>
<p>Do you really want to delete this attachment?</p>
......
......@@ -44,7 +44,7 @@ incremental_restore()
[% FOREACH section = sections %]
[% section_num = section_num + 1 %]
<tr><th colspan="4" class="section_head">
<table id="[% file.filename FILTER html %]_sec[% section_num %]" cellpadding="0" cellspacing="0">
<table id="[% file.filename FILTER html %]_sec[% section_num %]">
<tr><th width="95%" class="left">
[% IF file.is_add %]
Added
......
......@@ -42,7 +42,7 @@ function toggle_display(link) {
</script>
<br>
<table id="attachment_table" cellspacing="0" cellpadding="4">
<table id="attachment_table">
<tr id="a0">
<th colspan="[% show_attachment_flags ? 3 : 2 %]" class="left">
Attachments
......@@ -65,7 +65,7 @@ function toggle_display(link) {
[% " bz_private" IF attachment.isprivate %]
[% " bz_tr_obsolete bz_default_hidden"
IF attachment.isobsolete %]">
<td valign="top">
<td>
[% IF attachment.datasize %]
<a href="attachment.cgi?id=[% attachment.id %]"
title="View the content of the attachment">
......@@ -102,7 +102,7 @@ function toggle_display(link) {
</td>
[% IF show_attachment_flags %]
<td class="bz_attach_flags" valign="top">
<td class="bz_attach_flags">
[% IF attachment.flags.size == 0 %]
<i>no flags</i>
[% ELSE %]
......@@ -129,7 +129,7 @@ function toggle_display(link) {
</td>
[% END %]
<td valign="top">
<td>
<a href="attachment.cgi?id=[% attachment.id %]&amp;action=edit">Details</a>
[% IF attachment.ispatch && feature_enabled('patch_viewer') %]
| <a href="attachment.cgi?id=[% attachment.id %]&amp;action=diff">Diff</a>
......
......@@ -33,8 +33,8 @@
[% END %]
[% IF operations.size > 0 %]
<table border cellpadding="4">
<tr>
<table id="bug_activity">
<tr class="column_header">
<th>Who</th>
<th>When</th>
<th>What</th>
......@@ -44,10 +44,10 @@
[% FOREACH operation = operations %]
<tr>
<td rowspan="[% operation.changes.size %]" valign="top">
<td rowspan="[% operation.changes.size %]">
[% operation.who FILTER email FILTER html %]
</td>
<td rowspan="[% operation.changes.size %]" valign="top">
<td rowspan="[% operation.changes.size %]">
[% operation.when FILTER time %]
</td>
[% FOREACH change = operation.changes %]
......
......@@ -49,7 +49,8 @@
<!-- This auto-sizes the comments and positions the collapse/expand links
to the right. -->
<table class="bz_comment_table" cellpadding="0" cellspacing="0"><tr>
<table class="bz_comment_table">
<tr>
<td>
[% FOREACH comment = comments %]
......
......@@ -113,7 +113,7 @@
</td>
[%# 2nd Column %]
<td id="bz_show_bug_column_2" class="bz_show_bug_column">
<table cellpadding="3" cellspacing="1">
<table>
[%# *** Reported and modified dates *** %]
[% PROCESS section_dates %]
......@@ -143,7 +143,8 @@
</tr>
</table>
<table id="bz_big_form_parts" cellspacing="0" cellpadding="0"><tr>
<table id="bz_big_form_parts">
<tr>
<td>
[% IF user.is_timetracker %]
[% PROCESS section_timetracking %]
......@@ -618,7 +619,7 @@
<tr>
<th>&nbsp;</th>
<td colspan="2" align="left" id="show_dependency_tree_or_graph">
<td colspan="2" id="show_dependency_tree_or_graph">
Show dependency <a href="showdependencytree.cgi?id=[% bug.bug_id %]&amp;hide_resolved=1">tree</a>
[% IF Param('webdotbase') %]
......@@ -1123,8 +1124,7 @@
<br>
[% PROCESS commit_button id=""%]
<table id="bug_status_bottom"
class="status" cellspacing="0" cellpadding="0">
<table id="bug_status_bottom" class="status">
<tr>
<th class="field_label">
<a href="page.cgi?id=fields.html#bug_status">Status</a>:
......
......@@ -18,7 +18,9 @@
#%]
[% PROCESS global/header.html.tmpl
title = 'Verify New Product Details...' %]
title = 'Verify New Product Details...'
style_urls = ['skins/standard/buglist.css']
%]
<form action="process_bug.cgi" method="post">
......@@ -150,23 +152,23 @@
}
</script>
<table border="1">
<table id="groups_edit_multiple">
<tr>
<th>Remove<br>[% terms.bugs %]<br>from this<br>group</th>
<th>Add<br>[% terms.bugs %]<br>to this<br>group</th>
<th>Group Name:</th>
<th class="narrow_column">Remove [% terms.bugs %] from this group</th>
<th class="narrow_column">Add [% terms.bugs %] to this group</th>
<th>Group Name</th>
</tr>
[% FOREACH group = optional_groups %]
<tr>
<td align="center">
<td class="center">
<input type="checkbox" name="defined_groups"
id="defined_group_[% group.group.id FILTER html %]"
value="[% group.group.name FILTER html %]"
[% IF cgi.param("defined_groups").contains(group.group.name) %] checked="checked"[% END %]
onchange="turn_off(this, 'group_[% group.group.id FILTER html %]')">
</td>
<td align="center">
<td class="center">
<input type="checkbox" name="groups"
id="group_[% group.group.id FILTER html %]"
value="[% group.group.name FILTER html %]"
......
......@@ -83,7 +83,7 @@
[% BLOCK owner_report %]
[% global.total = 0 global.bug_count = {} global.owner_count = {} %]
<table cellpadding="4" cellspacing="0" width="90%" class="realitems owner">
<table class="realitems owner">
[% FOREACH owner = workdata.keys.sort %]
[% INCLUDE do_one_owner owner=owner ownerdata=workdata.$owner
detailed=detailed %]
......@@ -128,7 +128,7 @@
[% BLOCK number_report %]
[% global.total = 0 global.owner_count = {} global.bug_count = {} %]
<table cellpadding="4" cellspacing="0" width="90%" class="realitems number">
<table class="realitems number">
[% FOREACH bug = workdata.keys.nsort %]
[% INCLUDE do_one_bug id=bug bugdata=workdata.$bug
detailed=detailed %]
......@@ -188,7 +188,7 @@
<tr class="bug_header[% '2' IF cid % 2 %]">
<td>&nbsp;</td>
<td colspan="3">
<table width="100%" cellpadding="0" cellspacing="0">
<table>
<tr>
<td width="33%">
Estimated: [% bugs.$id.estimated_time FILTER format("%.2f") %]h
......@@ -222,7 +222,7 @@
[% BLOCK inactive_report %]
<h3>Inactive [% terms.bugs %]</h3>
<table cellpadding="4" cellspacing="0" width="90%" class="zeroitems">
<table class="zeroitems">
[% cid = 0 %]
[% FOREACH bug_id = null.nsort %]
[% INCLUDE bug_header id=bug_id cid=cid %]
......@@ -296,7 +296,7 @@
</td></tr>
<tr>
<td>&nbsp;</td><td colspan="4">
<small>(Dates are optional, and in YYYY-MM-DD format)</small>
<span class="bz_info">(Dates are optional, and in YYYY-MM-DD format)</span>
</td>
<tr><td align="right">
<b>Group by</b>:
......
......@@ -274,7 +274,6 @@
'bug/create/create-guided.html.tmpl' => [
'sel',
'productstring',
],
'bug/activity/table.html.tmpl' => [
......
......@@ -440,15 +440,14 @@
</script>
</samp>
<table cellpadding="20">
<tr>
<td id="error_msg" class="throw_error">
[% error_message FILTER none %]
</td>
</tr>
</table>
<div id="error_msg" class="throw_error">
[% error_message FILTER none %]
</div>
<p id="post_err_msg">
Traceback:
</p>
<p>Traceback:</p>
<pre>[% traceback FILTER html %]</pre>
[% IF variables %]
......
......@@ -79,21 +79,13 @@
<p>Please go back and try other names or email addresses.</p>
[% END %]
<table border="0">
<tr>
<td colspan="2">
<hr width="100%" size="1">
</td>
</tr>
[%# this is messy to allow later expansion %]
<table id="user_match_table">
[% FOREACH field = matches %]
<tr>
<td align="left" valign="top">
<td>
[% PROCESS field_names field_name=field.key %]:
</td>
<td align="left" valign="top">
<td>
[% FOREACH query = field.value %]
<div class="user_match">
<b>[% query.key FILTER html %]</b>
......@@ -148,14 +140,8 @@
[% END %]
</td>
</tr>
<tr>
<td colspan="2">
<hr width="100%" size="1">
</td>
</tr>
[% END %]
</table>
</table>
[% IF matchsuccess == 1 %]
......
......@@ -11,26 +11,17 @@
# global/useful-links.html.tmpl.
#%]
[% Hook.process('main-end') %]
</div>
[% Hook.process('main-end') %]
</div>
[%# Migration note: below this point, this file corresponds to the old Param
# 'footerhtml'
#%]
<div id="footer">
<div class="intro">[% Hook.process('intro') %]</div>
[%# Migration note: the old param 'blurbhtml' goes here %]
[%# Migration note: useful-links.html.tmpl corresponds to %commandmenu% %]
[% PROCESS "global/useful-links.html.tmpl" %]
<div id="footer">
<div class="intro">[% Hook.process('intro') %]</div>
<div class="outro">[% Hook.process('outro') %]</div>
</div>
[% PROCESS "global/useful-links.html.tmpl" %]
[% Hook.process("end") %]
<div class="outro">[% Hook.process('outro') %]</div>
</div>
</body>
[% Hook.process("end") %]
</body>
</html>
......@@ -86,8 +86,6 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
[% END %]
[%# Migration note: contents of the old Param 'headerhtml' would go here %]
[% PROCESS "global/site-navigation.html.tmpl" %]
[% PROCESS 'global/setting-descs.none.tmpl' %]
......@@ -215,75 +213,58 @@
[% Hook.process("additional_header") %]
</head>
[%# Migration note: contents of the old Param 'bodyhtml' go in the body tag,
# but set the onload attribute in the DEFAULT directive above.
#%]
<body onload="[% onload %]"
<body [% IF onload %] onload="[% onload %]"[% END %]
class="[% urlbase.replace('^https?://','').replace('/$','').replace('[-~@:/.]+','-') FILTER css_class_quote %]
[% FOREACH class = bodyclasses %]
[% ' ' %][% class FILTER css_class_quote %]
[%+ class FILTER css_class_quote %]
[% END %] yui-skin-sam">
[%# Migration note: the following file corresponds to the old Param
# 'bannerhtml'
#%]
<div id="header">
[% INCLUDE global/banner.html.tmpl %]
<table border="0" cellspacing="0" cellpadding="0" id="titles">
<tr>
<td id="title">
<p>[% terms.Bugzilla %]
[% " &ndash; $header" IF header %]</p>
</td>
[% IF subheader %]
<td id="subtitle">
<p class="subheader">[% subheader %]</p>
</td>
[% END %]
[% IF header_addl_info %]
<td id="information">
<p class="header_addl_info">[% header_addl_info %]</p>
</td>
[% END %]
</tr>
</table>
<table id="lang_links_container" cellpadding="0" cellspacing="0"
class="bz_default_hidden"><tr><td>
[% IF Bugzilla.languages.size > 1 %]
<ul class="links">
[% FOREACH lang = Bugzilla.languages.sort %]
<li>[% IF NOT loop.first %]<span class="separator"> | </span>[% END %]
[% IF lang == current_language %]
<span class="lang_current">[% lang FILTER html FILTER upper %]</span>
[% ELSE %]
<a href="#" onclick="set_language('[% lang FILTER none %]');">
[%- lang FILTER html FILTER upper %]</a>
<div id="header">
[% INCLUDE global/banner.html.tmpl %]
<div id="titles">
<span id="title">[% terms.Bugzilla %][% " &ndash; $header" IF header %]</span>
[% IF subheader %]
<span id="subtitle" class="subheader">[% subheader %]</span>
[% END %]
[% IF header_addl_info %]
<span id="information" class="header_addl_info">[% header_addl_info %]</span>
[% END %]
</div>
<div id="common_links">
[% PROCESS "global/common-links.html.tmpl" qs_suffix = "_top" %]
</div>
[% IF Bugzilla.languages.size > 1 %]
<div id="lang_links_container" class="bz_default_hidden">
<ul class="links">
[% FOREACH lang = Bugzilla.languages.sort %]
<li>
[% IF NOT loop.first %]<span class="separator"> | </span>[% END %]
[% IF lang == current_language %]
<span class="lang_current">[% lang FILTER html FILTER upper %]</span>
[% ELSE %]
<a href="#" onclick="set_language('[% lang FILTER none %]');">
[%- lang FILTER html FILTER upper %]</a>
[% END %]
</li>
[% END %]
</ul>
</div>
[% END %]
</li>
[% END %]
</ul>
[% END %]
</td></tr></table>
[% PROCESS "global/common-links.html.tmpl" qs_suffix = "_top" %]
</div> [%# header %]
<div id="bugzilla-body">
</div>
[% IF Param('announcehtml') %]
[% Param('announcehtml') FILTER none %]
[% END %]
<div id="bugzilla-body">
[% IF Param('announcehtml') %]
[% Param('announcehtml') FILTER none %]
[% END %]
[% IF message %]
<div id="message">[% message %]</div>
[% END %]
[% IF message %]
<div id="message">[% message %]</div>
[% END %]
[% BLOCK format_css_link %]
[% IF style_url.match('/IE-fixes\.css') %]
......
......@@ -15,7 +15,7 @@
#%]
<div class="tabbed">
<table class="tabs" cellspacing="0" cellpadding="10" border="0" width="100%">
<table class="tabs">
<tr>
<td class="spacer">&nbsp;</td>
......
......@@ -1930,15 +1930,11 @@
admindocslinks = admindocslinks
%]
<table cellpadding="20">
<tr>
<td id="error_msg" class="throw_error">
[% error_message FILTER none %]
</td>
</tr>
</table>
<div id="error_msg" class="throw_error">
[% error_message FILTER none %]
</div>
<p>
<p id="post_err_msg">
Please press <b>Back</b> and try again.
</p>
......
......@@ -318,23 +318,23 @@
</script>
<b>Groups:</b><br>
<table border="1">
<table id="groups_edit_multiple">
<tr>
<th>Remove<br>[% terms.bugs %]<br>from this<br>group</th>
<th>Add<br>[% terms.bugs %]<br>to this<br>group</th>
<th>Group Name:</th>
<th class="narrow_column">Remove [% terms.bugs %] from this group</th>
<th class="narrow_column">Add [% terms.bugs %] to this group</th>
<th>Group Name</th>
</tr>
[% FOREACH group = groups %]
<tr>
<td align="center">
<td class="center">
<input type="checkbox" name="defined_groups"
id="defined_group_[% group.id %]"
value="[% group.name FILTER html %]"
onchange="turn_off(this, 'group_[% group.id %]')">
</td>
[% IF group.is_active %]
<td align="center">
<td class="center">
<input type="checkbox" name="groups"
id="group_[% group.id FILTER html %]"
value="[% group.name FILTER html %]"
......
......@@ -57,7 +57,6 @@
[% PROCESS global/header.html.tmpl
title = title
style = style
atomlink = "buglist.cgi?$urlquerypart&title=$title&ctype=atom"
yui = [ 'autocomplete', 'calendar' ]
javascript_urls = [ "js/util.js", "js/field.js", "js/TUI.js" ]
......
......@@ -17,6 +17,7 @@
[% PROCESS global/header.html.tmpl
title = "$terms.Bugzilla Quip System"
header = "Add your own clever headline"
style_urls = ['skins/standard/buglist.css']
%]
<p>
......@@ -69,13 +70,17 @@
<input type="hidden" name="action" value="approve">
<input type="hidden" name="token"
value="[% issue_hash_token(['approve-quips']) FILTER html %]">
<table border="1">
<thead><tr>
<table id="quips">
<thead>
<tr class="column_header">
<th>Quip</th>
<th>Author</th>
<th>Action</th>
<th>Approved</th>
</tr></thead><tbody>
</tr>
</thead>
<tbody>
[% FOREACH quipid = quipids %]
<tr>
<td>[% quips.$quipid.quip FILTER html %]</td>
......@@ -90,7 +95,7 @@
Delete
</a>
</td>
<td>
<td class="center">
<input type="hidden" name="defined_quipid_[% quipid FILTER html %]"
id="defined_quipid_[% quipid FILTER html %]"
value="1">
......
......@@ -69,7 +69,7 @@
[%############################################################################%]
[% tableheader = BLOCK %]
<table class="bz_buglist" cellspacing="0" cellpadding="4" width="100%">
<table class="bz_buglist">
<tr class="bz_buglist_header bz_first_buglist_header">
[% IF dotweak %]
<th>&nbsp;</th>
......
......@@ -139,7 +139,7 @@
[% END %]
<table cellspacing="0" cellpadding="0" border="0" class="qs_fields">
<table class="qs_fields">
<thead>
<tr>
<th class="field_name">Field</th>
......@@ -221,7 +221,7 @@
specific fields, there are certain characters or words that you can
use as a "shortcut" for searching certain fields:</p>
<table cellspacing="0" cellpadding="0" border="0" class="qs_fields">
<table class="qs_fields">
<thead>
<tr>
<th class="field_name">Field</th>
......
......@@ -794,7 +794,7 @@
<h3 id="v42_req_modules">Required Perl Modules</h3>
<table class="req_table" border="0" cellpadding="0" cellspacing="0">
<table class="req_table">
<tbody>
<tr>
<th>Module</th>
......@@ -857,7 +857,7 @@
features of [% terms.Bugzilla %]:</p>
<table class="req_table" border="0" cellpadding="0" cellspacing="0">
<table class="req_table">
<tbody>
<tr>
<th>Module</th>
......@@ -1443,7 +1443,7 @@
<h3 id="v40_req_modules">Required Perl Modules</h3>
<table cellspacing="0" cellpadding="0" border="0" class="req_table">
<table class="req_table">
<tbody>
<tr>
<th>Module</th><th>Version</th>
......@@ -1501,7 +1501,7 @@
<p>The following perl modules, if installed, enable various
features of [% terms.Bugzilla %]:</p>
<table cellspacing="0" cellpadding="0" border="0" class="req_table">
<table class="req_table">
<tbody>
<tr>
<th>Module</th><th>Version</th><th>Enables Feature</th>
......@@ -2241,7 +2241,7 @@
[% BLOCK req_table %]
<table class="req_table" border="0" cellspacing="0" cellpadding="0">
<table class="req_table">
<tr>
<th>Module</th> <th>Version</th>
[% IF include_feature %]
......
......@@ -203,7 +203,7 @@
<h3 id="v36_req_modules">Required Perl Modules</h3>
<table class="req_table" border="0" cellspacing="0" cellpadding="0">
<table class="req_table">
<tr>
<th>Module</th> <th>Version</th>
</tr>
......@@ -276,7 +276,7 @@
<p>The following perl modules, if installed, enable various
features of [% terms.Bugzilla %]:</p>
<table class="req_table" border="0" cellspacing="0" cellpadding="0">
<table class="req_table">
<tr>
<th>Module</th> <th>Version</th>
<th>Enables Feature</th>
......@@ -1156,7 +1156,7 @@
<h3 id="v34_req_modules">Required Perl Modules</h3>
<table class="req_table" border="0" cellspacing="0" cellpadding="0">
<table class="req_table">
<tr>
<th>Module</th> <th>Version</th>
</tr>
......@@ -1215,7 +1215,7 @@
<p>The following perl modules, if installed, enable various
features of [% terms.Bugzilla %]:</p>
<table class="req_table" border="0" cellspacing="0" cellpadding="0">
<table class="req_table">
<tr>
<th>Module</th>
<th>Version</th>
......@@ -1880,24 +1880,47 @@
<h3 id="v32_req_modules">Required Perl Modules</h3>
<table class="req_table" border="0" cellpadding="0" cellspacing="0">
<tr> <th>Module</th> <th>Version</th> </tr>
<tr> <td>CGI</td> <td class="req_new">3.21 (on Perl 5.8.x)
or 3.33 (on Perl 5.10.x)</td> </tr>
<tr> <td>Date::Format</td> <td>2.21</td> </tr>
<tr> <td>File::Spec</td> <td>0.84</td> </tr>
<tr> <td>DBI</td> <td>1.41</td> </tr>
<tr> <td>Template</td> <td class="req_new">2.15</td> </tr>
<tr> <td>Email::Send</td> <td>2.00</td> </tr>
<tr> <td>Email::MIME</td> <td class="req_new">1.861</td> </tr>
<tr>
<td class="req_new">Email::MIME::Encodings</td>
<td class="req_new">1.313</td>
</tr>
<tr>
<td>Email::MIME::Modifier</td>
<td class="req_new">1.442</td>
</tr>
<table class="req_table">
<tr>
<th>Module</th>
<th>Version</th>
</tr>
<tr>
<td>CGI</td>
<td class="req_new">3.21 (on Perl 5.8.x) or 3.33 (on Perl 5.10.x)</td>
</tr>
<tr>
<td>Date::Format</td>
<td>2.21</td>
</tr>
<tr>
<td>File::Spec</td>
<td>0.84</td>
</tr>
<tr>
<td>DBI</td>
<td>1.41</td>
</tr>
<tr>
<td>Template</td>
<td class="req_new">2.15</td>
</tr>
<tr>
<td>Email::Send</td>
<td>2.00</td>
</tr>
<tr>
<td>Email::MIME</td>
<td class="req_new">1.861</td>
</tr>
<tr>
<td class="req_new">Email::MIME::Encodings</td>
<td class="req_new">1.313</td>
</tr>
<tr>
<td>Email::MIME::Modifier</td>
<td class="req_new">1.442</td>
</tr>
</table>
<h3 id="v32_req_optional_mod">Optional Perl Modules</h3>
......@@ -1905,7 +1928,7 @@
<p>The following perl modules, if installed, enable various
features of [% terms.Bugzilla %]:</p>
<table class="req_table" border="0" cellpadding="0" cellspacing="0">
<table class="req_table">
<tr>
<th>Module</th>
<th>Version</th>
......@@ -2678,24 +2701,30 @@
<h3 id="v30_req_modules">Required Perl Modules</h3>
<table class="req_table" border="0" cellspacing="0" cellpadding="0">
<table class="req_table">
<tr>
<th>Module</th> <th>Version</th>
<th>Module</th>
<th>Version</th>
</tr>
<tr><td>CGI</td> <td>2.93</td>
<tr>
<td>CGI</td>
<td>2.93</td>
</tr>
<tr>
<td>Date::Format</td> <td>2.21</td>
<td>Date::Format</td>
<td>2.21</td>
</tr>
<tr>
<td>DBI</td>
<td>DBI</td>
<td class="req_new">1.41</td>
</tr>
<tr>
<td>File::Spec</td> <td>0.84</td>
<td>File::Spec</td>
<td>0.84</td>
</tr>
<tr>
<td>Template</td> <td>2.12</td>
<td>Template</td>
<td>2.12</td>
</tr>
<tr>
<td class="req_new">Email::Send</td>
......@@ -2716,9 +2745,10 @@
<p>The following perl modules, if installed, enable various
features of [% terms.Bugzilla %]:</p>
<table class="req_table" border="0" cellspacing="0" cellpadding="0">
<table class="req_table">
<tr>
<th>Module</th> <th>Version</th>
<th>Module</th>
<th>Version</th>
<th>Enables Feature</th>
</tr>
<tr>
......@@ -3446,7 +3476,7 @@ sub y { $var++ }</pre>
[% BLOCK req_table %]
<table class="req_table" border="0" cellspacing="0" cellpadding="0">
<table class="req_table">
<tr>
<th>Module</th> <th>Version</th>
[% IF include_feature %]
......
......@@ -26,39 +26,23 @@
[% numcols = 2 %]
[% END %]
<table cellpadding="0" cellspacing="0" id="components_header_table">
<tr>
<td class="instructions">
Select a component to see open [% terms.bugs %] in that component:
</td>
<td class="product_container">
<span class="product_name">[% product.name FILTER html %]</span>
<div class="product_desc">
[% product.description FILTER html_light %]
</div>
</td>
</tr>
</table>
<h1>[% product.name FILTER html %]</h1>
<span class="components_header">Components</span>
<div class="product_desc">[% product.description FILTER html_light %]</div>
<p>Select a component to see open [% terms.bugs %] in that component.</p>
<table summary="Components table"
class="component_table" cellspacing="0" cellpadding="0">
<thead>
<table class="component_table">
<tr>
<th>&nbsp;</th>
<th>Component</th>
<th>Default Assignee</th>
[% IF Param("useqacontact") %]
<th>Default QA Contact</th>
[% END %]
</tr>
</thead>
<tbody>
[% FOREACH comp = product.components %]
[% INCLUDE describe_comp %]
[% END %]
</tbody>
</table>
[% PROCESS global/footer.html.tmpl %]
......
......@@ -53,7 +53,7 @@
[% base_args_string = base_args.join('&amp;') %]
[% IF bugs.size %]
<table id="duplicates_table" cellpadding="0" cellspacing="0">
<table id="duplicates_table">
<thead>
<tr>
[% FOREACH column = columns %]
......
......@@ -12,7 +12,6 @@
# name: the name of the keyword
# description: keyword description. Can contain some limited HTML code.
# bug_count: number of bugs with that keyword
# caneditkeywords: boolean. True if this user can edit keywords
%]
[% PROCESS global/header.html.tmpl
......@@ -20,27 +19,19 @@
style_urls = ['skins/standard/admin.css']
%]
[% FOREACH keyword = keywords %]
[% IF loop.index % 50 == 0 %]
[% IF loop.index != 0 %]
</table>
[% END %]
<table border="1" cellpadding="4" cellspacing="0">
<tr class="column_header">
<th>Name</th>
<th>Description</th>
<th>Open [% terms.Bugs %]</th>
<th>Total [% terms.Bugs %]</th>
</tr>
[% END %]
<table id="admin_table">
<tr class="column_header">
<th>Name</th>
<th>Description</th>
<th>Open [% terms.Bugs %]</th>
<th>Total [% terms.Bugs %]</th>
</tr>
[% FOREACH keyword = keywords %]
<tr id="[% keyword.name FILTER html %]">
<th>
[% keyword.name FILTER html %]
</th>
<td>[% keyword.name FILTER html %]</td>
<td>[% keyword.description FILTER html_light %]</td>
<td align="center">
<td class="center">
[% IF keyword.bug_count > 0 %]
<a href="buglist.cgi?keywords=[% keyword.name FILTER uri %]&amp;resolution=---">
Search</a>
......@@ -48,7 +39,7 @@
none
[% END %]
</td>
<td align="right">
<td class="right">
[% IF keyword.bug_count > 0 %]
<a href="buglist.cgi?keywords=[% keyword.name FILTER uri %]">
[% keyword.bug_count %]</a>
......@@ -57,13 +48,10 @@
[% END %]
</td>
</tr>
[% END %]
[% IF keywords.size > 0 %]
</table>
[% END %]
[% END %]
</table>
[% IF caneditkeywords %]
[% IF user.in_group("editkeywords") %]
<p>
<a href="editkeywords.cgi">Edit keywords</a>.
</p>
......
......@@ -15,19 +15,20 @@
[% PROCESS global/header.html.tmpl
title = "$terms.Bug Charts"
h1 = "Welcome to the $terms.Bugzilla Charting Kitchen"
style_urls = ['skins/standard/reports.css']
doc_section = "reporting.html#charts"
%]
<div align="center">
[% IF url_image %]
[% IF url_image %]
<div class="center">
<img src="[% url_image FILTER html %]">
<br clear="both">
[% ELSE %]
</div>
[% ELSE %]
<form id="choose_product" method="get" action="reports.cgi">
<table border="1" cellpadding="5" cellspacing="2">
<table id="old_charts">
<tr>
<th>Product:</th>
<td align="center">
<td>
<select id="product_id" name="product_id">
[% FOREACH product = products %]
<option value="[% product.id FILTER html %]">[% product.name || '-All-' FILTER html %]</option>
......@@ -37,7 +38,7 @@
</tr>
<tr>
<th>Chart datasets:</th>
<td align="center">
<td>
<select id="datasets" name="datasets" multiple="multiple" size="5">
[%# We cannot use translated statuses and resolutions from field-descs.none.html
# because old charts do not distinguish statuses from resolutions. %]
......@@ -56,7 +57,6 @@
</tr>
</table>
</form>
[% END %]
</div>
[% END %]
[% PROCESS global/footer.html.tmpl %]
......@@ -141,7 +141,7 @@ YAHOO.util.Event.addListener(window, "load", function() {
<tr>
<td>
</td>
<td align="center">
<td class="center">
<strong>[% col_field_disp FILTER html %]</strong>
</td>
</tr>
......@@ -158,7 +158,7 @@ YAHOO.util.Event.addListener(window, "load", function() {
[% row_idx = 0 %]
[% total_key = '-total-' %]
<div id="tabular_report_container_[% tbl FILTER html %]">
<table id="tabular_report" border="1">
<table id="tabular_report">
[% IF col_field %]
<thead>
<tr>
......@@ -182,14 +182,14 @@ YAHOO.util.Event.addListener(window, "load", function() {
[% FOREACH row = row_names %]
[% row_idx = 1 - row_idx %]
<tr>
<td class="[% classes.$row_idx.$col_idx %]" align="right">
<td class="[% classes.$row_idx.$col_idx %] right">
[% PROCESS value_display value = row field = row_field %]
</td>
[% FOREACH col = col_names %]
[% NEXT IF col == "" %]
[% col_idx = 1 - col_idx %]
<td class="[% classes.$row_idx.$col_idx %]" align="center">
<td class="[% classes.$row_idx.$col_idx %]">
[% IF data.$tbl.$col.$row AND data.$tbl.$col.$row > 0 %]
<a href="[% urlbase %]&amp;
[% row_field FILTER uri %]=[% row FILTER uri %]&amp;
......@@ -200,7 +200,7 @@ YAHOO.util.Event.addListener(window, "load", function() {
[% END %]
</td>
[% END %]
<td class="ttotal" align="right">
<td class="ttotal right">
<a href="[% urlbase %]&amp;
[% row_field FILTER uri %]=[% row FILTER uri %]
[% "&amp;$col_vals" IF col_vals %]">
......@@ -216,14 +216,14 @@ YAHOO.util.Event.addListener(window, "load", function() {
[% FOREACH col = col_names %]
[% NEXT IF col == "" %]
<td class="ttotal" align="center">
<td class="ttotal">
<a href="[% urlbase %]&amp;
[% col_field FILTER uri %]=[% col FILTER uri %]
[% "&amp;$row_vals" IF row_vals %]">
[% data.$tbl.$col.$total_key OR 0 FILTER html %]</a>
</td>
[% END %]
<td class="ttotal" align="right">
<td class="ttotal right">
<strong>
<a href="[% urlbase %]
[% "&amp;$row_vals" IF row_vals %]
......
......@@ -212,7 +212,7 @@ to some group are shown by default.
<h3>[% column_headers.$group_field %]:
[%+ (request.$group_field || "None") FILTER email FILTER html %]</h3>
<table class="requests" cellspacing="0" cellpadding="4" border="1">
<table class="requests">
<tr>
[% FOREACH column = display_columns %]
[% NEXT IF column == group_field || excluded_columns.contains(column) %]
......
......@@ -36,7 +36,7 @@ for "crash secure SSL flash".
}
</script>
<table summary="Search fields" class="bz_simple_search_form">
<table class="bz_simple_search_form">
<tr>
<th>
<label for="bug_status">[% field_descs.bug_status FILTER html %]:</label>
......
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