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 {
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,7 +33,12 @@
padding: 0.2em 0.5em;
}
table td {
div.table {
display: inline-table;
}
div.cell {
display: table-cell;
vertical-align: top;
}
......
......@@ -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%;
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 {
.component_table 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">
<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 valign="top">Sortkey:</td>
<td valign="top">[% classification.sortkey FILTER html %]</td>
</tr>
</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,37 +8,38 @@
[% 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">
<td>
<select name="prodlist" id="prodlist" multiple="multiple" size="20">
[% FOREACH class = classifications %]
[% IF class.id != classification.id %]
......@@ -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,70 +22,69 @@ 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 %]
<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 %]
</tr>
<tr>
<td valign="top">Component of Product:</td>
<td valign="top">[% product.name FILTER html %]</td>
<tr>
<td>Component of Product</td>
<td>[% product.name FILTER html %]</td>
</tr>
[% IF product.description %]
</tr>
<tr>
<td valign="top">Product Description:</td>
<td valign="top">[% product.description FILTER html_light %]</td>
[% END %]
[% IF product.description %]
<tr>
<td>Product Description</td>
<td>[% product.description FILTER html_light %]</td>
</tr>
[% END %]
[% IF Param('usetargetmilestone') %]
</tr>
<tr>
<td valign="top">Product Milestone URL:</td>
<td valign="top">
[% IF Param('usetargetmilestone') %]
<tr>
<td>Product Milestone URL</td>
<td>
<a href="[% product.milestone_url FILTER html %]">
[% product.milestone_url FILTER html %]
</a>
[% product.milestone_url FILTER html %]</a>
</td>
[% END %]
</tr>
[% END %]
</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 %]
<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 %]
[% ELSE %]
None
[% END %]
[% END %]
</td>
</tr>
</tr>
</table>
<h2>Confirmation</h2>
......@@ -95,13 +94,11 @@ from '[% product.name FILTER html %]' product
[% 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 %]
is 1 [% terms.bug %]
[% END %]
outstanding for this component. You must reassign
[% IF comp.bug_count > 1 %]
......@@ -109,14 +106,12 @@ from '[% product.name FILTER html %]' product
[% 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 %]
......
......@@ -13,18 +13,19 @@
[% 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 %]
[% 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 %]
[% ELSE %]
None
[% END %]
[% 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=
<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>
<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 %]).
</td>
</tr>
</p>
[% END %]
[% IF abuser != user.identity %]
<tr>
<th>Generated&nbsp;by:</th>
<td>[% abuser FILTER html %]</td>
</tr>
<tr>
<th>&nbsp;</th>
<td>
<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!
</td>
</tr>
</p>
[% END %]
</table>
<p>Please report this problem to [%+ Param("maintainer") FILTER html %].</p>
</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 %]
<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 %]
[% ELSE %]
None
[% END %]
[% END %]
</td>
</tr>
</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__');">
<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" IF selected_product == prod.name %]>
[% prod.name FILTER html %]</option>
[%+ 'selected="selected"' IF selected_product == prod.name %]>
[%- prod.name FILTER html %]</option>
[% END %]
</select>
</td>
<th><label for="component">Component:</label></th>
<td>
</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" IF selected_component == comp %]>
[% comp FILTER html %]</option>
[%+ 'selected="selected"' IF selected_component == comp %]>
[%- comp FILTER html %]</option>
[% END %]
</select>
</td>
<td>
</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>
</td>
<td><input type="submit" id="submit" value="Filter"></td>
</tr>
</table>
</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>
<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 colspan="3"><input type="text" size="70" maxlength="255" id="icon_url" name="icon_url"></td>
<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
[% PROCESS select_pair name = "member_of" size = 10
items_available = member_of_available
items_current = member_of_current %]</td>
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>Groups That This Group Can Grant Membership In<br>
(&quot;Users in [% group.name FILTER html %] can add users to...&quot;)
<th colspan="2">
Groups That This Group Can Grant Membership In<br>
("Users in [% group.name FILTER html %] can add users to...")
</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
[% PROCESS select_pair name = "bless_to" size = 10
items_available = bless_to_available
items_current = bless_to_current %]
</td>
</tr>
</table>
[% IF Param('usevisibilitygroups') %]
<table class="grant_table">
<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>Groups That This Group Can See<br>
(&quot;Users in [% group.name FILTER html %] can see users in...&quot;)
<th colspan="2">
Groups That This Group Can See<br>
("Users in [% group.name FILTER html %] can see users in...")
</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
[% PROCESS select_pair name = "visible_to_me" size = 10
items_available = visible_to_me_available
items_current = visible_to_me_current %]
</td>
</tr>
</table>
[% 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,22 +177,15 @@
<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>
<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 %]">
......@@ -218,7 +195,10 @@
[% 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 %]">
......@@ -228,6 +208,4 @@
[% END %]
</select>
</td>
</tr>
</table>
[% 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 %]
with the <em>[% keyword.name FILTER html %]</em> keyword set.
</p>
Are you <b>sure</b> you want to delete
the <code>[% keyword.name FILTER html %]</code> keyword?
<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>
......
......@@ -13,10 +13,11 @@
[% 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 %]
<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 %]'"
[%- 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 %]
[% ELSE %]
None
[% END %]
[% END %]
</td>
</tr>
</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 %]
<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 %]
<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
<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>
to another product before you can delete this one.
</p>
[% ELSE %]
<table class="confirmation">
<tr>
<td>
<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.
</td>
</tr>
</table>
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 -%]
<div class="multi-columns">
[% FOREACH v = product.versions %]
[% v.name FILTER html %]
<br>
[% 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 -%]
<div class="multi-columns">
[%- FOREACH m = product.milestones -%]
[% m.name FILTER html %]
<br>
[% 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
......
......@@ -17,31 +17,28 @@
[% PROCESS global/header.html.tmpl
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>
<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>
......@@ -50,7 +47,7 @@ page, and the Default Value will automatically apply to everyone.
[% FOREACH name = settings.keys %]
[% checkbox_name = name _ '-enabled' %]
<tr>
<td align="right">
<td>
[% setting_descs.$name OR name FILTER html %]
</td>
<td>
......@@ -63,12 +60,11 @@ 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 %]
......@@ -76,18 +72,7 @@ page, and the Default Value will automatically apply to everyone.
<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>
</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 %]
<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 %]
[% ELSE %]
None
[% END %]
[% END %]
</td>
</tr>
</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>
<p class="confirmation">
The content of this attachment will be deleted in an <b>irreversible</b> way.
</td>
</tr>
</table>
</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 %]
......
......@@ -47,22 +47,15 @@ function PutDescription() {
<p>Check the two lists of frequently-reported [% terms.bugs %]:</p>
[%# Include other products if sensible %]
[% IF product.name == "Firefox" %]
[% productstring = "product=Mozilla%20Application%20Suite&amp;product=Firefox" %]
[% ELSIF product.name == "Thunderbird" %]
[% productstring = "product=Mozilla%20Application%20Suite&amp;product=Thunderbird" %]
[% ELSE %]
[% productstring = BLOCK %]product=[% product.name FILTER uri %][% END %]
[% END %]
<p>
<a href="duplicates.cgi?[% productstring %]&amp;format=simple" target="somebugs">All-time Top 100</a> (loaded initially) |
<a href="duplicates.cgi?[% productstring %]&amp;format=simple&amp;sortby=delta&amp;reverse=1&amp;maxrows=100&amp;changedsince=14" target="somebugs">Hot in the last two weeks</a>
<a href="duplicates.cgi?product=[% product.name FILTER uri %]&amp;format=simple"
target="somebugs">All-time Top 100</a> (loaded initially) |
<a href="duplicates.cgi?product=[% product.name FILTER uri %]&amp;format=simple&amp;sortby=delta&amp;reverse=1&amp;maxrows=100&amp;changedsince=14"
target="somebugs">Hot in the last two weeks</a>
</p>
<iframe name="somebugs" id="somebugs"
src="duplicates.cgi?[% productstring %]&amp;format=simple">
src="duplicates.cgi?product=[% product.name FILTER uri %]&amp;format=simple">
</iframe>
<p>
......@@ -70,7 +63,7 @@ function PutDescription() {
a few key words having to do with your [% terms.bug %] in this box.
For example: <kbd><b>pop3 mail</b></kbd> or <kbd><b>copy paste</b></kbd>.
The results will appear above.
</p>
</p>
[%# All bugs opened inside the past six months %]
<form action="buglist.cgi" method="get" target="somebugs">
......@@ -78,16 +71,6 @@ function PutDescription() {
<input type="hidden" name="order" value="relevance desc">
<input type="hidden" name="bug_status" value="__all__">
<input type="hidden" name="product" value="[% product.name FILTER html %]">
[% IF product.name == "Firefox" OR
product.name == "Thunderbird" OR
product.name == "Mozilla Application Suite" OR
product.name == "Camino" %]
<input type="hidden" name="product" value="Core">
<input type="hidden" name="product" value="Toolkit">
<input type="hidden" name="product" value="PSM">
<input type="hidden" name="product" value="NSPR">
<input type="hidden" name="product" value="NSS">
[% END %]
<input type="hidden" name="chfieldfrom" value="-6m">
<input type="hidden" name="chfieldto" value="Now">
<input type="hidden" name="chfield" value="[Bug creation]">
......@@ -112,7 +95,7 @@ function PutDescription() {
there, tell us all about it.
</p>
<form method="post" action="post_bug.cgi">
<form id="guided_form" method="post" action="post_bug.cgi">
<input type="hidden" name="format" value="guided">
<input type="hidden" name="assigned_to" value="">
<input type="hidden" name="priority"
......@@ -121,105 +104,77 @@ function PutDescription() {
value="[% default.version FILTER html %]">
<input type="hidden" name="token" value="[% token FILTER html %]">
<table valign="top" cellpadding="5" cellspacing="5" border="0">
<table>
<tr class="guided_form_field">
<td align="right" valign="top">
<b>Product</b>
</td>
<td valign="top">
<th>Product</th>
<td>
<input type="hidden" name="product" value="[% product.name FILTER html %]">
[% product.name FILTER html %]
</td>
</tr>
<tr>
<td align="right" valign="top">
<b>Component</b>
</td>
<td valign="top">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top">
<select name="component" id="component"
size="5" onchange="PutDescription()">
<th>Component</th>
<td>
<select name="component" id="component" size="5" onchange="PutDescription()">
[% IF NOT default.component_ %]
[%# Various b.m.o. products have a "General" component,
which is a useful default. %]
[% default.component_ = "General" %]
[% END %]
[% FOREACH c = product.components %]
<option value="[% c.name FILTER html %]"
[% " selected=\"selected\"" IF c.name == default.component_ %]>
[%+ 'selected="selected"' IF c.name == default.component_ %]>
[% c.name FILTER html %]
</option>
[% END %]
</select>
</td>
<td valign="top" width="100%">
<div id="description" class="comment">
<script type="text/javascript">
if ((document.getElementById) && (document.body.innerHTML)) {
document.write("\
Select a component to see its description here.");
document.write("Select a component to see its description here.");
}
</script>
</div>
</td>
</tr>
</table>
<p>
The area where the problem occurs.
To pick the right component, you could use the same one as
similar [% terms.bugs %] you found in your search, or read the full list of
<a target="_blank" href="describecomponents.cgi?product=
[% product.name FILTER uri %]">component
descriptions</a> (opens in new window) if you need more help.
<a href="describecomponents.cgi?product=[% product.name FILTER uri %]"
target="_blank" >component descriptions</a> (opens in new window) if
you need more help.
</p>
</td>
</tr>
[%# We override rep_platform and op_sys for simplicity. The values chosen
are based on which are most common in the b.m.o database %]
[%# We override rep_platform and op_sys for simplicity. %]
[% rep_platform = [ "PC", "Macintosh", "All", "Other" ] %]
<tr class="guided_form_field">
<td align="right" valign="top">
<b>[% field_descs.rep_platform FILTER html %]</b>
</td>
<td valign="top">
<th>[% field_descs.rep_platform FILTER html %]</th>
<td>
[% PROCESS select sel = 'rep_platform' %]
</td>
</tr>
[% op_sys = [ "Windows 2000", "Windows XP", "Windows Vista", "Windows 7",
[% op_sys = [ "Windows XP", "Windows Vista", "Windows 7", "Windows 8",
"Mac OS X", "Linux", "All", "Other" ] %]
<tr>
<td align="right" valign="top">
<b>Operating System</b>
</td>
<td valign="top">
<th>Operating System</th>
<td>
[% PROCESS select sel = 'op_sys' %]
</td>
</tr>
[% IF product.name.match("Firefox|Camino|Mozilla Application Suite") %]
[% matches = cgi.user_agent('Gecko/(\d+)') %]
[% buildid = cgi.user_agent() IF matches %]
[% END %]
[%# Accept URL parameter build ID for non-browser products %]
[% IF cgi.param("buildid") %]
[% buildid = cgi.param("buildid") %]
[% END %]
<tr class="guided_form_field">
<td align="right" valign="top">
<b>Build Identifier</b>
</td>
<td valign="top">
<th>Build Identifier</th>
<td>
<input type="text" size="80" name="buildid" value="[% buildid FILTER html %]">
<p>
This should identify the exact version of the product you were using.
......@@ -233,25 +188,18 @@ function PutDescription() {
</tr>
<tr>
<td align="right" valign="top">
<b>URL</b>
</td>
<td valign="top">
<th>URL</th>
<td>
<input type="text" size="80" name="bug_file_loc" value="http://">
<p>
URL that demonstrates the problem you are seeing (optional).<br>
<b>IMPORTANT</b>: if the problem is with a broken web page, you need
to report it
<a href="https://bugzilla.mozilla.org/page.cgi?id=broken-website.html">a different way</a>.
URL that demonstrates the problem you are seeing (optional).
</p>
</td>
</tr>
<tr class="guided_form_field">
<td align="right" valign="top">
<b>Summary</b>
</td>
<td valign="top">
<th>Summary</th>
<td>
<input type="text" size="80" name="short_desc" id="short_desc"
maxlength="255" spellcheck="true">
<p>
......@@ -272,10 +220,8 @@ function PutDescription() {
</tr>
<tr>
<td align="right" valign="top">
<b>Details</b>
</td>
<td valign="top">
<th>Details</th>
<td>
[% INCLUDE global/textarea.html.tmpl
name = 'comment'
minrows = 6
......@@ -302,10 +248,8 @@ function PutDescription() {
</tr>
<tr class="guided_form_field">
<td align="right" valign="top">
<b>Reproducibility</b>
</td>
<td valign="top">
<th>Reproducibility</th>
<td>
<select name="reproducible">
<option name="AlwaysReproducible" value="Always">
Happens every time.
......@@ -324,10 +268,8 @@ function PutDescription() {
</tr>
<tr>
<td align="right" valign="top">
<b>Steps to Reproduce</b>
</td>
<td valign="top">
<th>Steps to Reproduce</th>
<td>
[% INCLUDE global/textarea.html.tmpl
name = 'reproduce_steps'
minrows = 4
......@@ -342,10 +284,8 @@ function PutDescription() {
</tr>
<tr class="guided_form_field">
<td valign="top" align="right">
<b>Actual Results</b>
</td>
<td valign="top">
<th>Actual Results</th>
<td>
[% INCLUDE global/textarea.html.tmpl
name = 'actual_results'
minrows = 4
......@@ -358,10 +298,8 @@ function PutDescription() {
</tr>
<tr>
<td valign="top" align="right">
<b>Expected Results</b>
</td>
<td valign="top">
<th>Expected Results</th>
<td>
[% INCLUDE global/textarea.html.tmpl
name = 'expected_results'
minrows = 4
......@@ -374,10 +312,8 @@ function PutDescription() {
</tr>
<tr class="guided_form_field">
<td valign="top" align="right">
<b>Additional Information</b>
</td>
<td valign="top">
<th>Additional Information</th>
<td>
[% INCLUDE global/textarea.html.tmpl
name = 'additional_info'
minrows = 8
......@@ -387,8 +323,7 @@ function PutDescription() {
Add any additional information you feel may be
relevant to this [% terms.bug %], such as the <b>theme</b> you were
using (does the [% terms.bug %] still occur
with the default theme?), a
<b><a href="http://kb.mozillazine.org/Quality_Feedback_Agent">Talkback crash ID</a></b>, or special
with the default theme?), or special
information about <b>your computer's configuration</b>. Any information
longer than a few lines, such as a <b>stack trace</b> or <b>HTML
testcase</b>, should be added
......@@ -406,10 +341,8 @@ function PutDescription() {
</tr>
<tr>
<td valign="top" align="right">
<b>[% field_descs.bug_severity FILTER html %]</b>
</td>
<td valign="top">
<th>[% field_descs.bug_severity FILTER html %]</th>
<td>
<select name="bug_severity">
<option name="critical" value="critical">
Critical: The software crashes, hangs, or causes you to
......
......@@ -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">
<div id="error_msg" class="throw_error">
[% error_message FILTER none %]
</td>
</tr>
</table>
</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 %]
......
......@@ -12,25 +12,16 @@
#%]
[% Hook.process('main-end') %]
</div>
</div>
[%# Migration note: below this point, this file corresponds to the old Param
# 'footerhtml'
#%]
<div id="footer">
<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 class="outro">[% Hook.process('outro') %]</div>
</div>
[% Hook.process("end") %]
</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,51 +213,37 @@
[% 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 %]
<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>
<div id="titles">
<span id="title">[% terms.Bugzilla %][% " &ndash; $header" IF header %]</span>
[% IF subheader %]
<td id="subtitle">
<p class="subheader">[% subheader %]</p>
</td>
<span id="subtitle" class="subheader">[% subheader %]</span>
[% END %]
[% IF header_addl_info %]
<td id="information">
<p class="header_addl_info">[% header_addl_info %]</p>
</td>
<span id="information" class="header_addl_info">[% header_addl_info %]</span>
[% END %]
</tr>
</table>
</div>
<table id="lang_links_container" cellpadding="0" cellspacing="0"
class="bz_default_hidden"><tr><td>
[% IF Bugzilla.languages.size > 1 %]
<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 %]
<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 %]
......@@ -269,21 +253,18 @@
</li>
[% END %]
</ul>
[% END %]
</td></tr></table>
[% PROCESS "global/common-links.html.tmpl" qs_suffix = "_top" %]
</div> [%# header %]
<div id="bugzilla-body">
</div>
[% END %]
</div>
[% IF Param('announcehtml') %]
[% Param('announcehtml') FILTER none %]
[% END %]
<div id="bugzilla-body">
[% IF Param('announcehtml') %]
[% Param('announcehtml') FILTER none %]
[% END %]
[% IF message %]
[% IF message %]
<div id="message">[% message %]</div>
[% END %]
[% 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">
<div id="error_msg" class="throw_error">
[% error_message FILTER none %]
</td>
</tr>
</table>
</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>
<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>
</tr>
<tr>
<td>Email::MIME::Modifier</td>
<td class="req_new">1.442</td>
</tr>
</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 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">
<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>
[% END %]
[% 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