Commit 2b574f4d authored by Frédéric Buclin's avatar Frédéric Buclin

Bug 840407: Remove the "align" and "valign" attributes

r/a=justdave
parent d4f65f36
...@@ -66,12 +66,6 @@ hr { ...@@ -66,12 +66,6 @@ hr {
/* edit */ /* edit */
#bugzilla-body th {
font-weight: bold;
vertical-align: top;
white-space: nowrap;
}
#bug-form td { #bug-form td {
padding-top: 2px; padding-top: 2px;
} }
......
...@@ -43,10 +43,6 @@ p.areyoureallyreallysure { ...@@ -43,10 +43,6 @@ p.areyoureallyreallysure {
border: 1px solid black; border: 1px solid black;
} }
#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_bugs th , #flag_types_bugs td,
#flag_types_attachments th, #flag_types_attachments td { #flag_types_attachments th, #flag_types_attachments td {
...@@ -88,12 +84,9 @@ td.admin_links dt.forbidden a, td.admin_links dd.forbidden a { ...@@ -88,12 +84,9 @@ td.admin_links dt.forbidden a, td.admin_links dd.forbidden a {
cursor: default; cursor: default;
} }
.col-header { .open-status, .closed-status {
width: 8em; width: 8em;
} padding: 0.3em;
.checkbox-cell {
border: 1px black solid;
} }
/* Grey-green color */ /* Grey-green color */
...@@ -175,7 +168,6 @@ table.whining_list th, table.whining_list td, ...@@ -175,7 +168,6 @@ table.whining_list th, table.whining_list td,
table.whining_list th { table.whining_list th {
text-align: right; text-align: right;
font-weight: normal !important; font-weight: normal !important;
white-space: normal !important;
} }
table.whining_list th.subtitle { table.whining_list th.subtitle {
...@@ -212,3 +204,12 @@ table.schedule_list th, table.search_list th { ...@@ -212,3 +204,12 @@ table.schedule_list th, table.search_list th {
#mass-remove legend { #mass-remove legend {
white-space: nowrap; white-space: nowrap;
} }
#workflow {
border-collapse: collapse;
}
#workflow td {
border: 1px dotted black;
text-align: center;
}
...@@ -207,8 +207,13 @@ div#update_container { ...@@ -207,8 +207,13 @@ div#update_container {
margin-left: 2%; margin-left: 2%;
} }
.viewall_desc { .viewall_frame_container {
width: 75%; width: 75%;
margin: 2em auto;
}
.viewall_desc {
width: 100%;
border: 1px solid black; border: 1px solid black;
border-spacing: 0px; border-spacing: 0px;
border-collapse: collapse; border-collapse: collapse;
...@@ -220,7 +225,7 @@ div#update_container { ...@@ -220,7 +225,7 @@ div#update_container {
} }
.viewall_frame { .viewall_frame {
width: 75%; width: 100%;
height: 350px; height: 350px;
} }
......
...@@ -5,7 +5,8 @@ ...@@ -5,7 +5,8 @@
* This Source Code Form is "Incompatible With Secondary Licenses", as * This Source Code Form is "Incompatible With Secondary Licenses", as
* defined by the Mozilla Public License, v. 2.0. * defined by the Mozilla Public License, v. 2.0.
*/ */
.bz_query_head {
#groups_edit_multiple th, .bz_query_head {
text-align: center; text-align: center;
} }
...@@ -121,6 +122,15 @@ td.bz_total { ...@@ -121,6 +122,15 @@ td.bz_total {
color: inherit; color: inherit;
} }
.buglist_menu {
margin-top: 1em;
}
.buglist_menu div {
display: inline-block;
vertical-align: middle;
}
#groups_edit_multiple, #quips { #groups_edit_multiple, #quips {
border: 1px solid black; border: 1px solid black;
border-collapse: collapse; border-collapse: collapse;
...@@ -132,11 +142,6 @@ td.bz_total { ...@@ -132,11 +142,6 @@ td.bz_total {
padding: 0.3em; padding: 0.3em;
} }
#groups_edit_multiple th, #quips th {
text-align: center;
white-space: normal !important;
}
#groups_edit_multiple th.narrow_column { #groups_edit_multiple th.narrow_column {
width: 8em; width: 8em;
} }
......
...@@ -25,6 +25,11 @@ ...@@ -25,6 +25,11 @@
clear: both; clear: both;
} }
#bugzilla-body th {
font-weight: bold;
vertical-align: top;
}
/* global (end) */ /* global (end) */
/* header (begin) */ /* header (begin) */
...@@ -402,6 +407,10 @@ table#flags td { ...@@ -402,6 +407,10 @@ table#flags td {
padding: 0.3em; padding: 0.3em;
} }
#email_prefs th.role_header {
width: 10%;
}
#bug_activity td { #bug_activity td {
vertical-align: top; vertical-align: top;
} }
...@@ -410,6 +419,25 @@ table#flags td { ...@@ -410,6 +419,25 @@ table#flags td {
padding: 0.5em; padding: 0.5em;
} }
#permissions {
margin-left: auto;
margin-right: auto;
width: 40em;
}
#permissions p {
margin-top: 2em;
margin-bottom: 0.5em;
}
#permissions li {
list-style-type: none;
}
#permissions table td {
vertical-align: top;
}
.column_header { .column_header {
background-color: #66f; background-color: #66f;
} }
...@@ -684,6 +712,10 @@ form th { ...@@ -684,6 +712,10 @@ form th {
text-align: right; text-align: right;
} }
.middle {
vertical-align: middle;
}
.inline { .inline {
display: inline; display: inline;
} }
......
...@@ -33,6 +33,10 @@ ...@@ -33,6 +33,10 @@
padding: 0.2em 0.5em; padding: 0.2em 0.5em;
} }
#params_index {
padding-left: 1em;
}
div.table { div.table {
display: inline-table; display: inline-table;
} }
......
...@@ -66,13 +66,20 @@ ...@@ -66,13 +66,20 @@
background-color: #cfffdf; /* light green */ background-color: #cfffdf; /* light green */
} }
#tabular_report { .tabular_report_container {
/* Force tables to be horizontally centered */
margin-left: auto;
margin-right: auto;
text-align: center;
}
.tabular_report {
border: 1px dotted black; border: 1px dotted black;
border-collapse: collapse; border-collapse: collapse;
text-align: center; text-align: center;
} }
#tabular_report th, #tabular_report td { .tabular_report th, .tabular_report td {
border: 1px dotted; border: 1px dotted;
padding: 0.2em; padding: 0.2em;
} }
......
...@@ -192,3 +192,34 @@ div.bz_section_title span { ...@@ -192,3 +192,34 @@ div.bz_section_title span {
.bz_simple_search_form th { .bz_simple_search_form th {
text-align: right; text-align: right;
} }
#tabular_reports_menu, #graphical_reports_menu {
width: 30em;
margin: 2em auto;
}
#tabular_reports_menu th, #graphical_reports_menu th {
vertical-align: middle;
white-space: nowrap;
padding: 0.3em;
}
#tabular_reports_menu th {
text-align: center;
}
#graphical_reports_menu th {
text-align: left;
}
#graphical_reports_menu label {
font-weight: normal;
}
th#reports_menu_multiple_tables {
text-align: center;
width: 15em;
height: 15em;
border: 1px solid black;
border-collapse: collapse;
}
...@@ -6,8 +6,6 @@ ...@@ -6,8 +6,6 @@
* defined by the Mozilla Public License, v. 2.0. * defined by the Mozilla Public License, v. 2.0.
*/ */
td { vertical-align: top }
table.zeroitems, table.realitems { table.zeroitems, table.realitems {
margin-left: 2.0em; margin-left: 2.0em;
margin-top: 2px; margin-top: 2px;
...@@ -22,6 +20,9 @@ tr.section_total { ...@@ -22,6 +20,9 @@ tr.section_total {
td.subtotal { td.subtotal {
background: #B0C0D9; background: #B0C0D9;
text-align: right;
font-weight: bold;
width: 8em;
} }
.zeroitems .bug_header { background: #d0e0f0 } .zeroitems .bug_header { background: #d0e0f0 }
...@@ -51,3 +52,14 @@ table.owner, table.number, table.zeroitems { ...@@ -51,3 +52,14 @@ table.owner, table.number, table.zeroitems {
margin: 1em; margin: 1em;
padding: 0.5em; padding: 0.5em;
} }
th.bug_id, th.bug_status {
white-space: nowrap;
text-align: left;
padding-right: 2em;
width: 6em;
}
.time_info {
padding-right: 3em;
}
...@@ -68,24 +68,14 @@ ...@@ -68,24 +68,14 @@
[% END %] [% END %]
<form id="account_creation_form" method="get" action="createaccount.cgi"> <form id="account_creation_form" method="get" action="createaccount.cgi">
<table> <span class="label">
<tr>
<td align="right">
<b>
[% IF Param('emailsuffix') %] [% IF Param('emailsuffix') %]
Login: Login:
[% ELSE %] [% ELSE %]
Email address: Email address:
[% END %] [% END %]
</b> </span>
</td> <input size="35" id="login" name="login"> [% Param('emailsuffix') FILTER html %]
<td>
<input size="35" id="login" name="login">
[% Param('emailsuffix') FILTER html %]
</td>
</tr>
</table>
<br>
<input type="hidden" id="token" name="token" value="[% issue_hash_token(['create_account']) FILTER html %]"> <input type="hidden" id="token" name="token" value="[% issue_hash_token(['create_account']) FILTER html %]">
<input type="submit" id="send" value="Send"> <input type="submit" id="send" value="Send">
</form> </form>
......
...@@ -60,61 +60,36 @@ function SetCheckboxes(setting) { ...@@ -60,61 +60,36 @@ function SetCheckboxes(setting) {
} }
} }
} }
document.write('<input type="button" value="Enable All Mail" onclick="SetCheckboxes(true); return false;">\n');
document.write('<input type="button" value="Disable All Mail" onclick="SetCheckboxes(false); return false;">\n');
// --> // -->
</script> </script>
<input type="button" value="Enable All Mail" onclick="SetCheckboxes(true); return false;">
<input type="button" value="Disable All Mail" onclick="SetCheckboxes(false); return false;">
<hr> <hr>
<table> <h3>Global options</h3>
<tr>
<td colspan="2"> [% prefname = "email-$constants.REL_ANY-$constants.EVT_FLAG_REQUESTED" %]
<b>Global options:</b> <input type="checkbox" name="[% prefname %]" id="[% prefname %]" value="1"
</td> [%+ 'checked="checked"' IF user.mail_settings.${constants.REL_ANY}.${constants.EVT_FLAG_REQUESTED} %]>
</tr> <label for="[% prefname %]">Email me when someone asks me to set a flag</label>
<br>
[% prefname = "email-$constants.REL_ANY-$constants.EVT_REQUESTED_FLAG" %]
<input type="checkbox" name="[% prefname %]" id="[% prefname %]" value="1"
[%+ 'checked="checked"' IF user.mail_settings.${constants.REL_ANY}.${constants.EVT_REQUESTED_FLAG} %]>
<label for="[% prefname %]">Email me when someone sets a flag I asked for</label>
<tr>
<td width="150"></td>
<td>
[% prefname = "email-$constants.REL_ANY-$constants.EVT_FLAG_REQUESTED" %]
<input type="checkbox" name="[% prefname %]" id="[% prefname %]"
value="1"
[% " checked"
IF user.mail_settings.${constants.REL_ANY}.${constants.EVT_FLAG_REQUESTED} %]>
<label for="[% prefname %]">Email me when someone asks me to set a flag</label>
<br>
</td>
</tr>
<tr>
<td width="150"></td>
<td>
[% prefname = "email-$constants.REL_ANY-$constants.EVT_REQUESTED_FLAG" %]
<input type="checkbox" name="[% prefname %]" id="[% prefname %]"
value="1"
[% " checked"
IF user.mail_settings.${constants.REL_ANY}.${constants.EVT_REQUESTED_FLAG} %]>
<label for="[% prefname %]">Email me when someone sets a flag I asked for</label>
<br>
</td>
</tr>
[% IF user.is_global_watcher %] [% IF user.is_global_watcher %]
<tr> <p>
<td width="150"></td> You are watching all [% terms.bugs %]. To be removed from this role, contact
<td>
You are watching all [% terms.bugs %]. To be removed from this role,
contact
<a href="mailto:[% Param("maintainer") %]">[% Param("maintainer") %]</a>. <a href="mailto:[% Param("maintainer") %]">[% Param("maintainer") %]</a>.
</td> </p>
</tr>
[% END %] [% END %]
</table>
<hr> <hr>
<b>Field/recipient specific options:</b>
<br> <h3>Field/recipient specific options</h3>
<br>
[% events = [ [% events = [
{ id = constants.EVT_ADDED_REMOVED, { id = constants.EVT_ADDED_REMOVED,
...@@ -173,20 +148,16 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb ...@@ -173,20 +148,16 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb
[% num_columns = relationships.size %] [% num_columns = relationships.size %]
<table id="email_prefs"> <table id="email_prefs">
<tr> <tr class="column_header">
<td colspan="[% num_columns FILTER html %]" align="center" width="50%"> <th colspan="[% num_columns FILTER html %]">
<b>When my relationship to this [% terms.bug %] is:</b> When my relationship to this [% terms.bug %] is:
</td> </th>
<td rowspan="2" width="40%"> <th>I want to receive mail when:</th>
<b>I want to receive mail when:</b>
</td>
</tr> </tr>
<tr> <tr>
[% FOREACH relationship = relationships %] [% FOREACH relationship = relationships %]
<th width="9%"> <th class="role_header">[% relationship.description FILTER html %]</th>
[% relationship.description FILTER html %]
</th>
[% END %] [% END %]
</tr> </tr>
...@@ -194,17 +165,15 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb ...@@ -194,17 +165,15 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb
[% count = loop.count() %] [% count = loop.count() %]
<tr class="bz_row_[% count % 2 == 1 ? "odd" : "even" %]"> <tr class="bz_row_[% count % 2 == 1 ? "odd" : "even" %]">
[% FOREACH relationship = relationships %] [% FOREACH relationship = relationships %]
<td align="center"> <td class="center">
<input type="checkbox" <input type="checkbox" value="1"
name="email-[% relationship.id %]-[% event.id %]" name="email-[% relationship.id %]-[% event.id %]"
value="1"
[%# The combinations don't always make sense; disable a couple %] [%# The combinations don't always make sense; disable a couple %]
[% IF event.id == constants.EVT_ADDED_REMOVED AND [% IF event.id == constants.EVT_ADDED_REMOVED
no_added_removed.contains(relationship.id) AND no_added_removed.contains(relationship.id) %]
%] disabled="disabled"
disabled
[% ELSIF user.mail_settings.${relationship.id}.${event.id} %] [% ELSIF user.mail_settings.${relationship.id}.${event.id} %]
checked checked="checked"
[% END %]> [% END %]>
</td> </td>
[% END %] [% END %]
...@@ -214,37 +183,29 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb ...@@ -214,37 +183,29 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb
</tr> </tr>
[% END %] [% END %]
<tr> <tr class="column_header">
<td colspan="[% num_columns FILTER html %]" <th colspan="[% num_columns FILTER html %]">&nbsp;</th>
align="center" width="50%"> <th>but not when (overrides above):</th>
&nbsp;
</td>
<td width="40%">
<b>but not when (overrides above):</b>
</td>
</tr> </tr>
[% FOREACH event = neg_events %] [% FOREACH event = neg_events %]
[% count = loop.count() %] [% count = loop.count() %]
<tr class="bz_row_[% count % 2 == 1 ? "odd" : "even" %]"> <tr class="bz_row_[% count % 2 == 1 ? "odd" : "even" %]">
[% FOREACH relationship = relationships %] [% FOREACH relationship = relationships %]
<td align="center"> <td class="center">
<input type="checkbox" <input type="checkbox" value="1"
name="neg-email-[% relationship.id %]-[% event.id %]" name="neg-email-[% relationship.id %]-[% event.id %]"
value="1" [%+ 'checked="checked"' IF NOT user.mail_settings.${relationship.id}.${event.id} %]>
[% " checked" IF NOT user.mail_settings.${relationship.id}.${event.id} %]>
</td> </td>
[% END %] [% END %]
<td> <td>[% event.description FILTER html %]</td>
[% event.description FILTER html %]
</td>
</tr> </tr>
[% END %] [% END %]
</table> </table>
<hr> <hr>
<b>User Watching</b>
<h3>User Watching</h3>
<p> <p>
If you watch a user, it is as if you are standing in their shoes for the If you watch a user, it is as if you are standing in their shoes for the
...@@ -253,22 +214,22 @@ preferences for <u>their</u> relationship to the [% terms.bug %] ...@@ -253,22 +214,22 @@ preferences for <u>their</u> relationship to the [% terms.bug %]
(e.g. Assignee). (e.g. Assignee).
</p> </p>
<p>
[% IF watchedusers.size %] [% IF watchedusers.size %]
You are watching everyone in the following list: <p>You are watching everyone in the following list:</p>
</p>
<p> <p>
<select id="watched_by_you" name="watched_by_you" multiple="multiple" size="5"> <select id="watched_by_you" name="watched_by_you" multiple="multiple" size="5">
[% FOREACH w = watchedusers %] [% FOREACH w = watchedusers %]
<option value="[% w FILTER html %]">[% w FILTER html %]</option> <option value="[% w FILTER html %]">[% w FILTER html %]</option>
[% END %] [% END %]
</select> <br /> </select>
<br>
<input type="checkbox" id="remove_watched_users" name="remove_watched_users"> <input type="checkbox" id="remove_watched_users" name="remove_watched_users">
<label for="remove_watched_users">Remove selected users from my watch list</label> <label for="remove_watched_users">Remove selected users from my watch list</label>
</p>
[% ELSE %] [% ELSE %]
You are currently not watching any users. <p>You are currently not watching any users.</p>
[% END %] [% END %]
</p>
<p id="new_watched_by_you">Add users to my watch list (comma separated list): <p id="new_watched_by_you">Add users to my watch list (comma separated list):
[% INCLUDE global/userselect.html.tmpl [% INCLUDE global/userselect.html.tmpl
...@@ -290,7 +251,9 @@ You are currently not watching any users. ...@@ -290,7 +251,9 @@ You are currently not watching any users.
[% END %] [% END %]
</p> </p>
<b>Ignore [% terms.Bugs %]</b> <hr>
<h3>Ignore [% terms.Bugs %]</h3>
<p> <p>
You can specify a list of [% terms.bugs %] from which you never want to get You can specify a list of [% terms.bugs %] from which you never want to get
...@@ -324,6 +287,8 @@ You are currently not watching any users. ...@@ -324,6 +287,8 @@ You are currently not watching any users.
</p> </p>
[% END %] [% END %]
<p>Add [% terms.bugs %]:<br> <p>
Add [% terms.bugs %]:<br>
<input type="text" id="add_ignored_bugs" <input type="text" id="add_ignored_bugs"
name="add_ignored_bugs" size="60"></p> name="add_ignored_bugs" size="60">
</p>
...@@ -17,12 +17,11 @@ ...@@ -17,12 +17,11 @@
# other people. # other people.
#%] #%]
<table align="center"> <div id="permissions">
<tr>
<td>
[% IF has_bits.size %] [% IF has_bits.size %]
You have the following permission bits set on your account: <p>You have the following permission bits set on your account:</p>
<table align="center">
<table>
[% FOREACH bit_description = has_bits %] [% FOREACH bit_description = has_bits %]
<tr> <tr>
<td>[% bit_description.name FILTER html %]</td> <td>[% bit_description.name FILTER html %]</td>
...@@ -34,32 +33,34 @@ ...@@ -34,32 +33,34 @@
[% FOREACH privs = ["editcomponents", "canconfirm", "editbugs"] %] [% FOREACH privs = ["editcomponents", "canconfirm", "editbugs"] %]
[% SET products = ${"local_$privs"} %] [% SET products = ${"local_$privs"} %]
[% IF products && products.size %] [% IF products && products.size %]
<br>
<p> <p>
You also have local '[% privs FILTER html %]' privileges You also have local '[% privs FILTER html %]' privileges
for the following products: for the following products:
</p> </p>
<p> <ul>
[% FOREACH product = products %] [% FOREACH product = products %]
[% product.name FILTER html %]<br> <li>[% product.name FILTER html %]</li>
[% END %] [% END %]
</p> </ul>
[% END %] [% END %]
[% END %] [% END %]
[% ELSE %] [% ELSE %]
There are no permission bits set on your account. <p>There are no permission bits set on your account.</p>
[% END %] [% END %]
[% IF user.in_group('editusers') %] [% IF user.in_group('editusers') %]
<br> <p>
You have editusers privileges. You can turn on and off You have editusers privileges. You can turn on and off all
all permissions for all users. permissions for all users.
</p>
[% ELSIF set_bits.size %] [% ELSIF set_bits.size %]
<br> <p>
And you can turn on or off the following bits for And you can turn on or off the following bits for
<a href="editusers.cgi">other users</a>: <a href="editusers.cgi">other users</a>:
<table align="center"> </p>
<table>
[% FOREACH bit_description = set_bits %] [% FOREACH bit_description = set_bits %]
<tr> <tr>
<td>[% bit_description.name FILTER html %]</td> <td>[% bit_description.name FILTER html %]</td>
...@@ -70,10 +71,9 @@ ...@@ -70,10 +71,9 @@
[% END %] [% END %]
[% IF user.in_group('bz_sudoers') %] [% IF user.in_group('bz_sudoers') %]
<br> <p>
You are a member of the <b>bz_sudoers</b> group, so you can You are a member of the <b>bz_sudoers</b> group, so you can
<a href="relogin.cgi?action=prepare-sudo">impersonate someone else</a>. <a href="relogin.cgi?action=prepare-sudo">impersonate someone else</a>.
</p>
[% END %] [% END %]
</td> </div>
</tr>
</table>
...@@ -30,7 +30,6 @@ ...@@ -30,7 +30,6 @@
<p>Your saved searches are as follows:</p> <p>Your saved searches are as follows:</p>
<blockquote>
<table id="saved_search_prefs"> <table id="saved_search_prefs">
<tr class="column_header"> <tr class="column_header">
<th>Search</th> <th>Search</th>
...@@ -53,7 +52,7 @@ ...@@ -53,7 +52,7 @@
</td> </td>
<td></td> <td></td>
<td></td> <td></td>
<td align="center"> <td class="center">
<input type="checkbox" name="showmybugslink" value="1" <input type="checkbox" name="showmybugslink" value="1"
[%+ 'checked="checked"' IF user.showmybugslink %]> [%+ 'checked="checked"' IF user.showmybugslink %]>
</td> </td>
...@@ -120,12 +119,12 @@ ...@@ -120,12 +119,12 @@
</tr> </tr>
[% END %] [% END %]
</table> </table>
[% IF user.can_bless %] [% IF user.can_bless %]
<p>Note that for every search that has the "Add to footer" selected, a <p>Note that for every search that has the "Add to footer" selected, a
link to the shared search is added to the footer of every user that is link to the shared search is added to the footer of every user that is
a direct member of the group at the time you click Submit Changes.</p> a direct member of the group at the time you click Submit Changes.</p>
[% END %] [% END %]
</blockquote>
[% IF user.queries_available.size %] [% IF user.queries_available.size %]
<p>You may use these searches saved and shared by others:</p> <p>You may use these searches saved and shared by others:</p>
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
[% default_name = name _ '-isdefault' %] [% default_name = name _ '-isdefault' %]
[% default_val = settings.${name}.default_value %] [% default_val = settings.${name}.default_value %]
<tr> <tr>
<td align="right"> <td class="right">
[% setting_descs.$name OR name FILTER html %] [% setting_descs.$name OR name FILTER html %]
</td> </td>
<td> <td>
......
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
[% columns.push({ [% columns.push({
name => 'bug_count' name => 'bug_count'
heading => "$terms.Bugs" heading => "$terms.Bugs"
align => "right" class => "right"
contentlink => bug_count_contentlink contentlink => bug_count_contentlink
}) %] }) %]
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
[% columns.push({ [% columns.push({
name => 'bug_count' name => 'bug_count'
heading => "$terms.Bugs" heading => "$terms.Bugs"
align => "right" class => "right"
contentlink => "buglist.cgi?product=%%name%%" contentlink => "buglist.cgi?product=%%name%%"
}) })
%] %]
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
[% PROCESS global/header.html.tmpl [% PROCESS global/header.html.tmpl
title = title title = title
style_urls = ['skins/standard/admin.css']
doc_section = "flags-overview.html#flags-delete" doc_section = "flags-overview.html#flags-delete"
%] %]
...@@ -26,24 +27,14 @@ ...@@ -26,24 +27,14 @@
in the database but will not appear in the [% terms.Bugzilla %] UI. in the database but will not appear in the [% terms.Bugzilla %] UI.
</p> </p>
<table> <p class="confirmation">
<tr>
<td colspan="2">
Do you really want to delete this type? Do you really want to delete this type?
</td> </p>
</tr>
<tr> <p>
<td>
<a href="editflagtypes.cgi?action=delete&amp;id=[% flag_type.id %]&amp;token= <a href="editflagtypes.cgi?action=delete&amp;id=[% flag_type.id %]&amp;token=
[%- token FILTER html %]">Yes, delete [%- token FILTER html %]">Yes, delete</a> -
</a> <a href="editflagtypes.cgi">No, don't delete</a>
</td> </p>
<td align="right">
<a href="editflagtypes.cgi">
No, don't delete
</a>
</td>
</tr>
</table>
[% PROCESS global/footer.html.tmpl %] [% PROCESS global/footer.html.tmpl %]
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
{ {
name => "bug_count" name => "bug_count"
heading => "$terms.Bugs" heading => "$terms.Bugs"
align => "right" class => "right"
contentlink => "buglist.cgi?keywords=%%name%%" contentlink => "buglist.cgi?keywords=%%name%%"
}, },
{ {
......
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
[% columns.push({ [% columns.push({
name => "bug_count" name => "bug_count"
heading => "$terms.Bugs" heading => "$terms.Bugs"
align => "right" class => "right"
contentlink => bug_count_contentlink contentlink => bug_count_contentlink
}) })
%] %]
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
[% columns.push({ [% columns.push({
name => 'bug_count' name => 'bug_count'
heading => "$terms.Bugs" heading => "$terms.Bugs"
align => "right" class => "right"
contentlink => "buglist.cgi?product=%%name%%" contentlink => "buglist.cgi?product=%%name%%"
}) })
%] %]
......
...@@ -68,19 +68,17 @@ ...@@ -68,19 +68,17 @@
</div> </div>
<div class="cell"> <div class="cell">
[% IF curpanel == -1 %]
[% PROCESS admin/params/index.html.tmpl panels = panels %]
[% ELSE %]
<div class="contribute"><strong>Note:</strong> <div class="contribute"><strong>Note:</strong>
B[% %]ugzilla is developed entirely by volunteers. B[% %]ugzilla is developed entirely by volunteers.
The best way to give back to the B[% %]ugzilla project is to The best way to give back to the B[% %]ugzilla project is to
<a href="http://www.bugzilla.org/contribute/">contribute</a> <a href="http://www.bugzilla.org/contribute/">contribute</a> yourself!
yourself!
You don't have to be a programmer to contribute, there are lots of You don't have to be a programmer to contribute, there are lots of
things that we need. things that we need.
</div> </div>
[% IF curpanel == -1 %]
[% PROCESS admin/params/index.html.tmpl panels = panels %]
[% ELSE %]
<p> <p>
This lets you edit the basic operating parameters of [% terms.Bugzilla %]. This lets you edit the basic operating parameters of [% terms.Bugzilla %].
Be careful!<br> Be careful!<br>
......
...@@ -6,33 +6,23 @@ ...@@ -6,33 +6,23 @@
# defined by the Mozilla Public License, v. 2.0. # defined by the Mozilla Public License, v. 2.0.
#%] #%]
<p> <div id="params_index">
<p>
All parameters are displayed below, per section. All parameters are displayed below, per section.
If you cannot find one from here, then the parameter does not exist. If you cannot find one from here, then the parameter does not exist.
</p> </p>
<div align="center">
<table>
<tr>
<th>Parameter</th>
<th>Section</th>
</tr>
[% FOREACH panel = panels %] [% FOREACH panel = panels %]
<h3>[% panel.title FILTER html %]</h3>
<ul>
[% FOREACH param = panel.param_list.sort('name') %] [% FOREACH param = panel.param_list.sort('name') %]
<tr> <li>
<td>
<a href="editparams.cgi?section= <a href="editparams.cgi?section=
[%- panel.name FILTER uri %]#[% param.name FILTER uri %]_desc"> [%- panel.name FILTER uri %]#[% param.name FILTER uri %]_desc">
[% param.name FILTER html %]</a> [% param.name FILTER html %]</a>
</td> </li>
<td>
[% panel.title FILTER html %]
</td>
</tr>
[% END %] [% END %]
<tr> </ul>
<td>&nbsp;</td><td>&nbsp;</td>
</tr>
[% END %] [% END %]
</table>
</div> </div>
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
}, },
{ {
name => "product_count" name => "product_count"
align => "right" class => "right"
heading => "Product Count" heading => "Product Count"
} }
] ]
......
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
[% columns.push({ [% columns.push({
name => "bug_count" name => "bug_count"
heading => "$terms.Bug Count" heading => "$terms.Bug Count"
align => 'right' class => 'right'
contentlink => 'buglist.cgi?product=%%name%%' contentlink => 'buglist.cgi?product=%%name%%'
}) })
%] %]
......
...@@ -25,8 +25,6 @@ ...@@ -25,8 +25,6 @@
# field_descs hash will be used instead of "content." # field_descs hash will be used instead of "content."
# See fieldvalues/select-field for an example of use. # See fieldvalues/select-field for an example of use.
# This content WILL be HTML-filtered in this case. # This content WILL be HTML-filtered in this case.
# align: left/center/right. Controls the horizontal alignment of the
# text in the column.
# allow_html_content: if defined, then this column allows some html content # allow_html_content: if defined, then this column allows some html content
# and so it will be only partially filtered. # and so it will be only partially filtered.
# yesno_field: Turn the data from 0/!0 into Yes/No # yesno_field: Turn the data from 0/!0 into Yes/No
...@@ -89,7 +87,6 @@ ...@@ -89,7 +87,6 @@
[% contentlink = c.contentlink [% contentlink = c.contentlink
content = c.content content = c.content
content_use_field = c.content_use_field content_use_field = c.content_use_field
align = c.align
class = c.class class = c.class
allow_html_content = c.allow_html_content allow_html_content = c.allow_html_content
yesno_field = c.yesno_field yesno_field = c.yesno_field
...@@ -121,8 +118,7 @@ ...@@ -121,8 +118,7 @@
[% END %] [% END %]
[% END %] [% END %]
<td [% IF align %] align="[% align FILTER html %]" [% END %] <td [% IF class %] class="[% class FILTER html %]"[% END %]>
[% IF class %] class="[% class FILTER html %]" [% END %]>
[% IF contentlink %] [% IF contentlink %]
[% FOREACH m = contentlink.match('%%(.+?)%%', 1) %] [% FOREACH m = contentlink.match('%%(.+?)%%', 1) %]
...@@ -155,7 +151,7 @@ ...@@ -155,7 +151,7 @@
[% END %] [% END %]
[% IF data.size == 0 %] [% IF data.size == 0 %]
<tr><td colspan="[% columns.size %]" align="center"><i>&lt;none&gt;</i></td></tr> <tr><td colspan="[% columns.size %]" class="center"><i>&lt;none&gt;</i></td></tr>
[% END %] [% END %]
......
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
[% columns.push({ [% columns.push({
name => "bug_count" name => "bug_count"
heading => "$terms.Bugs" heading => "$terms.Bugs"
align => "right" class => "right"
contentlink => bug_count_contentlink contentlink => bug_count_contentlink
}) })
%] %]
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
[% columns.push({ [% columns.push({
name => 'bug_count' name => 'bug_count'
heading => "$terms.Bugs" heading => "$terms.Bugs"
align => "right" class => "right"
contentlink => "buglist.cgi?product=%%name%%" contentlink => "buglist.cgi?product=%%name%%"
}) })
%] %]
......
...@@ -15,9 +15,9 @@ ...@@ -15,9 +15,9 @@
<!-- <!--
function toggle_cell(cell) { function toggle_cell(cell) {
if (cell.checked) if (cell.checked)
cell.parentNode.className = "checkbox-cell checked"; cell.parentNode.className = "checked";
else else
cell.parentNode.className = "checkbox-cell"; cell.parentNode.className = "";
} }
//--> //-->
</script> </script>
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
</p> </p>
<form id="workflow_form" method="POST" action="editworkflow.cgi"> <form id="workflow_form" method="POST" action="editworkflow.cgi">
<table> <table id="workflow">
<tr> <tr>
<th colspan="2">&nbsp;</th> <th colspan="2">&nbsp;</th>
<th colspan="[% statuses.size FILTER html %]" class="title">To</th> <th colspan="[% statuses.size FILTER html %]" class="title">To</th>
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
<th rowspan="[% statuses.size + 2 FILTER html %]" class="title">From</th> <th rowspan="[% statuses.size + 2 FILTER html %]" class="title">From</th>
<th>&nbsp;</th> <th>&nbsp;</th>
[% FOREACH status = statuses %] [% FOREACH status = statuses %]
<th class="col-header[% status.is_open ? " open-status" : " closed-status" %]"> <th class="[% status.is_open ? "open-status" : "closed-status" %] center">
[% display_value("bug_status", status.name) FILTER html %] [% display_value("bug_status", status.name) FILTER html %]
</th> </th>
[% END %] [% END %]
...@@ -54,22 +54,21 @@ ...@@ -54,22 +54,21 @@
[% FOREACH new_status = statuses %] [% FOREACH new_status = statuses %]
[% IF workflow.${status.id}.${new_status.id}.defined %] [% IF workflow.${status.id}.${new_status.id}.defined %]
<td align="center" class="checkbox-cell <td class="[% "checked" IF workflow.${status.id}.${new_status.id} %]"
[% " checked" IF workflow.${status.id}.${new_status.id} %]"
title="From [% status.name FILTER html %] to [% new_status.name FILTER html %]"> title="From [% status.name FILTER html %] to [% new_status.name FILTER html %]">
<input type="checkbox" name="c_[% status.id %]_[% new_status.id %]" <input type="checkbox" name="c_[% status.id %]_[% new_status.id %]"
id="c_[% status.id %]_[% new_status.id %]" onclick="toggle_cell(this)" id="c_[% status.id %]_[% new_status.id %]" onclick="toggle_cell(this)"
[% " checked='checked'" IF workflow.${status.id}.${new_status.id} %]> [% " checked='checked'" IF workflow.${status.id}.${new_status.id} %]>
</td> </td>
[% ELSE %] [% ELSE %]
<td class="checkbox-cell forbidden">&nbsp;</td> <td class="forbidden">&nbsp;</td>
[% END %] [% END %]
[% END %] [% END %]
</tr> </tr>
[% END %] [% END %]
</table> </table>
<p align="center"> <p class="center">
<input type="hidden" name="action" value="update_comment"> <input type="hidden" name="action" value="update_comment">
<input type="hidden" name="token" value="[% token FILTER html %]"> <input type="hidden" name="token" value="[% token FILTER html %]">
<input type="submit" id="update_comment" value="Commit Changes"> - <input type="submit" id="update_comment" value="Commit Changes"> -
......
...@@ -15,9 +15,9 @@ ...@@ -15,9 +15,9 @@
<!-- <!--
function toggle_cell(cell) { function toggle_cell(cell) {
if (cell.checked) if (cell.checked)
cell.parentNode.className = "checkbox-cell checked"; cell.parentNode.className = "checked";
else else
cell.parentNode.className = "checkbox-cell"; cell.parentNode.className = "";
} }
//--> //-->
</script> </script>
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
</p> </p>
<form id="workflow_form" method="POST" action="editworkflow.cgi"> <form id="workflow_form" method="POST" action="editworkflow.cgi">
<table> <table id="workflow">
<tr> <tr>
<th colspan="2">&nbsp;</th> <th colspan="2">&nbsp;</th>
<th colspan="[% statuses.size FILTER html %]" class="title">To</th> <th colspan="[% statuses.size FILTER html %]" class="title">To</th>
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
<th rowspan="[% statuses.size + 2 FILTER html %]" class="title">From</th> <th rowspan="[% statuses.size + 2 FILTER html %]" class="title">From</th>
<th>&nbsp;</th> <th>&nbsp;</th>
[% FOREACH status = statuses %] [% FOREACH status = statuses %]
<th class="col-header[% status.is_open ? " open-status" : " closed-status" %]"> <th class="[% status.is_open ? "open-status" : "closed-status" %] center">
[% display_value("bug_status", status.name) FILTER html %] [% display_value("bug_status", status.name) FILTER html %]
</th> </th>
[% END %] [% END %]
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
[% IF status.id != new_status.id %] [% IF status.id != new_status.id %]
[% checked = workflow.${status.id}.${new_status.id}.defined ? 1 : 0 %] [% checked = workflow.${status.id}.${new_status.id}.defined ? 1 : 0 %]
[% mandatory = (status.id && new_status.name == Param("duplicate_or_move_bug_status")) ? 1 : 0 %] [% mandatory = (status.id && new_status.name == Param("duplicate_or_move_bug_status")) ? 1 : 0 %]
<td align="center" class="checkbox-cell[% " checked" IF checked || mandatory %]" <td class="[% "checked" IF checked || mandatory %]"
title="From [% status.name FILTER html %] to [% new_status.name FILTER html %]"> title="From [% status.name FILTER html %] to [% new_status.name FILTER html %]">
<input type="checkbox" name="w_[% status.id %]_[% new_status.id %]" <input type="checkbox" name="w_[% status.id %]_[% new_status.id %]"
id="w_[% status.id %]_[% new_status.id %]" onclick="toggle_cell(this)" id="w_[% status.id %]_[% new_status.id %]" onclick="toggle_cell(this)"
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
[%+ "disabled='disabled'" IF mandatory %]> [%+ "disabled='disabled'" IF mandatory %]>
</td> </td>
[% ELSE %] [% ELSE %]
<td class="checkbox-cell forbidden">&nbsp;</td> <td class="forbidden">&nbsp;</td>
[% END %] [% END %]
[% END %] [% END %]
</tr> </tr>
...@@ -87,7 +87,7 @@ ...@@ -87,7 +87,7 @@
page and editing the <i>duplicate_or_move_bug_status</i> parameter. page and editing the <i>duplicate_or_move_bug_status</i> parameter.
</p> </p>
<p align="center"> <p class="center">
<input type="hidden" name="action" value="update"> <input type="hidden" name="action" value="update">
<input type="hidden" name="token" value="[% token FILTER html %]"> <input type="hidden" name="token" value="[% token FILTER html %]">
<input type="submit" id="update_workflow" value="Commit Changes"> - <input type="submit" id="update_workflow" value="Commit Changes"> -
......
...@@ -26,11 +26,9 @@ ...@@ -26,11 +26,9 @@
<a href="attachment.cgi?bugid=[% bug.id FILTER html %]&amp;action=viewall">click here</a>. <a href="attachment.cgi?bugid=[% bug.id FILTER html %]&amp;action=viewall">click here</a>.
</div> </div>
[% END %] [% END %]
<br>
[% FOREACH a = attachments %] [% FOREACH a = attachments %]
<div class="viewall_frame_container">
<div align="center">
<table class="viewall_desc"> <table class="viewall_desc">
<tr> <tr>
<th colspan="6" class="bz_attach_footer">Attachment #[% a.id %]</th> <th colspan="6" class="bz_attach_footer">Attachment #[% a.id %]</th>
...@@ -91,10 +89,7 @@ ...@@ -91,10 +89,7 @@
<a href="attachment.cgi?id=[% a.id %]">Download the attachment instead</a>. <a href="attachment.cgi?id=[% a.id %]">Download the attachment instead</a>.
</b></p> </b></p>
[% END %] [% END %]
</div> </div>
<br><br>
[% END %] [% END %]
[% PROCESS global/footer.html.tmpl %] [% PROCESS global/footer.html.tmpl %]
...@@ -35,7 +35,6 @@ ...@@ -35,7 +35,6 @@
[% FOREACH workdata = part_list %] [% FOREACH workdata = part_list %]
[%# parts contains date ranges (from, to). %] [%# parts contains date ranges (from, to). %]
[% part = parts.shift %] [% part = parts.shift %]
<div align="right">
<h4> <h4>
[% IF part.0 or part.1 %] [% IF part.0 or part.1 %]
[% part.0 OR "Up" FILTER html %] to [% part.1 OR "now" FILTER html %] [% part.0 OR "Up" FILTER html %] to [% part.1 OR "now" FILTER html %]
...@@ -43,7 +42,6 @@ ...@@ -43,7 +42,6 @@
Full summary (no period specified) Full summary (no period specified)
[% END %] [% END %]
</h4> </h4>
</div>
[% IF group_by == "number" %] [% IF group_by == "number" %]
[% INCLUDE number_report %] [% INCLUDE number_report %]
[% ELSE %] [% ELSE %]
...@@ -112,11 +110,10 @@ ...@@ -112,11 +110,10 @@
[% subtotal = subtotal + bugdata.total_time %] [% subtotal = subtotal + bugdata.total_time %]
[% END %] [% END %]
<tr> <tr>
<td colspan="4" align="right"><b>Total</b>:</td> <th colspan="4" class="right">Total:</th>
<td align="right" class="subtotal" width="100"> <td class="subtotal">[% subtotal FILTER format("%.2f") %]</td>
<b>[% subtotal FILTER format("%.2f") %]</b></td>
[% global.total = global.total + subtotal %]
</tr> </tr>
[% global.total = global.total + subtotal %]
[% END %] [% END %]
[%# [%#
...@@ -156,51 +153,42 @@ ...@@ -156,51 +153,42 @@
<tr class="owner_header[% 2 FILTER none IF cid % 2 %]"> <tr class="owner_header[% 2 FILTER none IF cid % 2 %]">
<td>&nbsp;</td> <td>&nbsp;</td>
<td colspan="2"><b>[% login_name FILTER html %]</b></td> <td colspan="2"><b>[% login_name FILTER html %]</b></td>
<td align="right"> <td class="right">
[% work_time FILTER format("%.2f") %]</td> [% work_time FILTER format("%.2f") %]</td>
</tr> </tr>
[% END %] [% END %]
[% END %] [% END %]
<tr> <tr>
<td colspan="2">&nbsp;</td> <th colspan="3" class="right">Total:</th>
<td align="right"> <td class="subtotal">[% subtotal FILTER format("%.2f") %]</td>
<b>Total</b>:
</td>
<td align="right" class="subtotal" width="100">
<b>[% subtotal FILTER format("%.2f") %]</b>
</td>
</tr> </tr>
[% global.total = global.total + subtotal %] [% global.total = global.total + subtotal %]
[% END %] [% END %]
[% BLOCK bug_header %] [% BLOCK bug_header %]
<tr class="bug_header[% '2' IF cid % 2 %]"> <tr class="bug_header[% '2' IF cid % 2 %]">
<td width="80" valign="top"> <th class="bug_id">[% "$terms.Bug $id" FILTER bug_link(id) FILTER none %]</th>
<b>[% "$terms.Bug $id" FILTER bug_link(id) FILTER none %]</b> <th class="bug_status">
</td> [% display_value("bug_status", bugs.$id.bug_status) FILTER html %]
<td width="100"><b>[% display_value("bug_status", bugs.$id.bug_status) FILTER html %]</b></td> </th>
<td colspan="2">[% bugs.$id.short_desc FILTER html %]</td> <td colspan="2">[% bugs.$id.short_desc FILTER html %]</td>
[% IF extra %] [% IF extra %]
<td align="right" valign="top">[% bugdata.total_time FILTER html %]</td> <td class="right">[% bugdata.total_time FILTER html %]</td>
[% END %] [% END %]
</tr> </tr>
[% IF detailed %] [% IF detailed %]
<tr class="bug_header[% '2' IF cid % 2 %]"> <tr class="bug_header[% '2' IF cid % 2 %]">
<td>&nbsp;</td> <td>&nbsp;</td>
<td colspan="3"> <td colspan="3">
<table> <span class="time_info">
<tr>
<td width="33%">
Estimated: [% bugs.$id.estimated_time FILTER format("%.2f") %]h Estimated: [% bugs.$id.estimated_time FILTER format("%.2f") %]h
</td> </span>
<td width="33%"> <span class="time_info">
Remaining: [% bugs.$id.remaining_time FILTER format("%.2f") %]h Remaining: [% bugs.$id.remaining_time FILTER format("%.2f") %]h
</td> </span>
<td width="33%"> <span class="time_info">
Deadline: [% bugs.$id.deadline || "<b>Not set</b>" %] Deadline: [% bugs.$id.deadline || "<b>Not set</b>" %]
</td> </span>
</tr>
</table>
</td> </td>
[% IF extra %] [% IF extra %]
<td>&nbsp;</td> <td>&nbsp;</td>
...@@ -236,8 +224,8 @@ ...@@ -236,8 +224,8 @@
[% IF global.total > 0 %] [% IF global.total > 0 %]
<tr class="section_total"> <tr class="section_total">
<td><b>Totals</b></td> <td><b>Totals</b></td>
<td colspan="[% colspan FILTER html %]" align="right"><b>[% additional FILTER html %]</b></td> <th colspan="[% colspan FILTER html %]" class="right">[% additional FILTER html %]</th>
<td align="right"><b>[% global.total FILTER format("%.2f") %]</b></td> <th class="right">[% global.total FILTER format("%.2f") %]</th>
</tr> </tr>
[% ELSE %] [% ELSE %]
<tr> <tr>
...@@ -254,7 +242,7 @@ ...@@ -254,7 +242,7 @@
#%] #%]
[% BLOCK query_form %] [% BLOCK query_form %]
<hr noshade size=1> <hr>
<form method="post" name="summary" action="summarize_time.cgi"> <form method="post" name="summary" action="summarize_time.cgi">
<input type="hidden" name="do_depends" value="[% do_depends FILTER html %]"> <input type="hidden" name="do_depends" value="[% do_depends FILTER html %]">
<input type="hidden" name="id" value="[% ids.join(",") FILTER html %]"> <input type="hidden" name="id" value="[% ids.join(",") FILTER html %]">
...@@ -268,68 +256,67 @@ ...@@ -268,68 +256,67 @@
[% END %] [% END %]
<table> <table>
<tr> <tr>
<td align="right"> <th>
<b><label accesskey="s" <label accesskey="s" for="start_date">Period <u>s</u>tarting</label>:
for="start_date">Period <u>s</u>tarting</label></b>: </th>
</td><td colspan="3"> <td>
<input type="text" id="start_date" name="start_date" size="11" <input type="text" id="start_date" name="start_date" size="10"
align="right" value="[% start_date FILTER html %]" maxlength="10" value="[% start_date FILTER html %]" maxlength="10"
onchange="updateCalendarFromField(this)"> onchange="updateCalendarFromField(this)">
<button type="button" class="calendar_button" <button type="button" class="calendar_button" id="button_calendar_start_date"
id="button_calendar_start_date"
onclick="showCalendar('start_date')"><span>Calendar</span> onclick="showCalendar('start_date')"><span>Calendar</span>
</button> </button>
<div id="con_calendar_start_date"></div> <span class="label">
&nbsp; and <label accesskey="e" for="end_date"><u>e</u>nding</label>:
<b>and <label accesskey="e" for="end_date"><u>e</u>nding</label></b>: </span>
<input type="text" name="end_date" size="11" id="end_date" <input type="text" name="end_date" size="10" id="end_date"
align="right" value ="[% end_date FILTER html %]" maxlength="10" value ="[% end_date FILTER html %]" maxlength="10"
onchange="updateCalendarFromField(this)"> onchange="updateCalendarFromField(this)">
<button type="button" class="calendar_button" <button type="button" class="calendar_button" id="button_calendar_end_date"
id="button_calendar_end_date"
onclick="showCalendar('end_date')"><span>Calendar</span> onclick="showCalendar('end_date')"><span>Calendar</span>
</button> </button>
<div id="con_calendar_end_date"></div> <br>
</td><td align="right">
<input type="submit" id="summarize" value="Summarize">
</td></tr>
<tr>
<td>&nbsp;</td><td colspan="4">
<span class="bz_info">(Dates are optional, and in YYYY-MM-DD format)</span> <span class="bz_info">(Dates are optional, and in YYYY-MM-DD format)</span>
</td> </td>
<tr><td align="right"> <th><input type="submit" id="summarize" value="Summarize"></th>
<b>Group by</b>: </tr>
</td><td colspan="2">
<input type="radio" name="group_by" id="number" value="number" [%+ <tr>
'checked="checked"' IF group_by == "number" <th>Group by:</th>
%]><label <td>
for="number" accesskey="n">[% terms.Bug %] <u>N</u>umber</label> <input type="radio" name="group_by" id="number" value="number"
<input type="radio" name="group_by" id="owner" value="owner" [%+ [% 'checked="checked"' IF group_by == "number" %]>
'checked="checked"' IF group_by == "owner" <label for="number" accesskey="n">[% terms.Bug %] <u>N</u>umber</label>
%]><label <input type="radio" name="group_by" id="owner" value="owner"
for="owner" accesskey="d"><u>D</u>eveloper</label> [% 'checked="checked"' IF group_by == "owner" %]>
</td><td colspan="2"> <label for="owner" accesskey="d"><u>D</u>eveloper</label>
<label for="ctype"><b>Format</b></label>: <select name="ctype" id="ctype"> </td>
<th>
<label for="ctype">Format</label>:
<select name="ctype" id="ctype">
<option value="html">HTML Report</option> <option value="html">HTML Report</option>
</select> </select>
</td></tr><tr> </th>
<td>&nbsp;</td><td colspan="4"> </tr>
<input type="checkbox" name="monthly" [% 'checked="checked"' IF
monthly %] id="monthly"> <tr>
<th>&nbsp;</th>
<td colspan="2">
<input type="checkbox" name="monthly" id="monthly"
[% 'checked="checked"' IF monthly %]>
<label for="monthly" accesskey="m">Split by <u>m</u>onth</label> <label for="monthly" accesskey="m">Split by <u>m</u>onth</label>
[%# XXX: allow splitting by other intervals %] [%# XXX: allow splitting by other intervals %]
&nbsp; <input type="checkbox" name="detailed" id="detailed"
<input type="checkbox" name="detailed" [% 'checked="checked"' IF [% 'checked="checked"' IF detailed %]>
detailed %] id="detailed">
<label for="detailed" accesskey="t">De<u>t</u>ailed summaries</label> <label for="detailed" accesskey="t">De<u>t</u>ailed summaries</label>
&nbsp; <input type="checkbox" name="inactive" id="inactive"
<input type="checkbox" name="inactive" [% 'checked="checked"' IF [% 'checked="checked"' IF inactive %]>
inactive %] id="inactive">
<label for="inactive" accesskey="i">Also show <u>i</u>nactive <label for="inactive" accesskey="i">Also show <u>i</u>nactive
[%+ terms.bugs %]</label> [%+ terms.bugs %]</label>
</td> </td>
</tr></table> </tr>
</table>
</form> </form>
<script type="text/javascript"> <script type="text/javascript">
...@@ -337,6 +324,7 @@ ...@@ -337,6 +324,7 @@
[%+ PROCESS "global/calendar.js.tmpl" id = 'start_date' %] [%+ PROCESS "global/calendar.js.tmpl" id = 'start_date' %]
[% PROCESS "global/calendar.js.tmpl" id = 'end_date' %] [% PROCESS "global/calendar.js.tmpl" id = 'end_date' %]
document.forms['summary'].start_date.focus(); document.forms['summary'].start_date.focus();
//--></script> //-->
<hr noshade size=1> </script>
<hr>
[% END %] [% END %]
...@@ -20,16 +20,16 @@ ...@@ -20,16 +20,16 @@
[% PROCESS global/header.html.tmpl %] [% PROCESS global/header.html.tmpl %]
<h2>First, you must pick a classification on which to enter [% terms.abug %]:</h2> <h2>First, you must pick a classification on which to enter [% terms.abug %]:</h2>
<table> <table id="choose_classification">
<tr> <tr>
<th> <th class="right">
<a href="[% target FILTER uri %]?classification=__all <a href="[% target FILTER uri %]?classification=__all
[% IF cloned_bug_id %]&amp;cloned_bug_id=[% cloned_bug_id FILTER uri %][% END -%] [% IF cloned_bug_id %]&amp;cloned_bug_id=[% cloned_bug_id FILTER uri %][% END -%]
[%- IF format %]&amp;format=[% format FILTER uri %][% END %]"> [%- IF format %]&amp;format=[% format FILTER uri %][% END %]">
All</a>: All</a>:
</th> </th>
<td valign="top">&nbsp;Show all products</td> <td>Show all products</td>
</tr> </tr>
<tr> <tr>
<th colspan="2">&nbsp;</th> <th colspan="2">&nbsp;</th>
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
[% FOREACH class = classifications %] [% FOREACH class = classifications %]
<tr> <tr>
<th> <th class="right">
<a href="[% target FILTER uri %]?classification=[% class.name FILTER uri -%] <a href="[% target FILTER uri %]?classification=[% class.name FILTER uri -%]
[%- IF cloned_bug_id %]&amp;cloned_bug_id=[% cloned_bug_id FILTER uri %][% END -%] [%- IF cloned_bug_id %]&amp;cloned_bug_id=[% cloned_bug_id FILTER uri %][% END -%]
[%- IF format %]&amp;format=[% format FILTER uri %][% END %]"> [%- IF format %]&amp;format=[% format FILTER uri %][% END %]">
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
</th> </th>
[% IF class.description %] [% IF class.description %]
<td valign="top">&nbsp;[% class.description FILTER html_light %]</td> <td>[% class.description FILTER html_light %]</td>
[% END %] [% END %]
</tr> </tr>
[% END %] [% END %]
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
<h2>[% h2 FILTER html %]</h2> <h2>[% h2 FILTER html %]</h2>
<table> <table id="choose_product">
[% FOREACH c = classifications %] [% FOREACH c = classifications %]
[% IF c.object %] [% IF c.object %]
...@@ -44,14 +44,14 @@ ...@@ -44,14 +44,14 @@
[% FOREACH p = c.products %] [% FOREACH p = c.products %]
<tr> <tr>
<th valign="top"> <th class="right">
<a href="[% target %]?product=[% p.name FILTER uri -%] <a href="[% target %]?product=[% p.name FILTER uri -%]
[%- IF cloned_bug_id %]&amp;cloned_bug_id=[% cloned_bug_id FILTER uri %][% END -%] [%- IF cloned_bug_id %]&amp;cloned_bug_id=[% cloned_bug_id FILTER uri %][% END -%]
[%- IF format %]&amp;format=[% format FILTER uri %][% END %]"> [%- IF format %]&amp;format=[% format FILTER uri %][% END %]">
[% p.name FILTER html FILTER no_break %]</a>:&nbsp; [% p.name FILTER html FILTER no_break %]</a>:&nbsp;
</th> </th>
<td valign="top">[% p.description FILTER html_light %]</td> <td>[% p.description FILTER html_light %]</td>
</tr> </tr>
[% END %] [% END %]
......
...@@ -260,11 +260,11 @@ ...@@ -260,11 +260,11 @@
[% IF Param('usestatuswhiteboard') %] [% IF Param('usestatuswhiteboard') %]
<tr> <tr>
<td align="right"> <th>
<b>Status Whiteboard:</b> <label for="status_whiteboard">Status Whiteboard:</label>
</td> </th>
<td colspan="7"> <td colspan="7">
<input name="status_whiteboard" <input name="status_whiteboard" id="status_whiteboard"
value="[% dontchange FILTER html %]" size="60"> value="[% dontchange FILTER html %]" size="60">
</td> </td>
</tr> </tr>
......
...@@ -172,8 +172,6 @@ ...@@ -172,8 +172,6 @@
</ul> </ul>
[% END %] [% END %]
<br>
[%############################################################################%] [%############################################################################%]
[%# Rest of Change Form #%] [%# Rest of Change Form #%]
[%############################################################################%] [%############################################################################%]
...@@ -188,10 +186,9 @@ ...@@ -188,10 +186,9 @@
[%# Navigation Bar #%] [%# Navigation Bar #%]
[%############################################################################%] [%############################################################################%]
<table>
<tr>
[% IF bugs.size > 0 %] [% IF bugs.size > 0 %]
<td valign="middle" class="bz_query_buttons"> <div class="buglist_menu">
<div class="bz_query_buttons">
<form method="post" action="show_bug.cgi"> <form method="post" action="show_bug.cgi">
[% id = buglist.join(",") %] [% id = buglist.join(",") %]
<input type="hidden" name="id" value="[% id FILTER html %]"> <input type="hidden" name="id" value="[% id FILTER html %]">
...@@ -213,19 +210,19 @@ ...@@ -213,19 +210,19 @@
<input type="submit" id="timesummary" value="Time Summary"> <input type="submit" id="timesummary" value="Time Summary">
</form> </form>
[% IF time_summary_limited %] [% IF time_summary_limited %]
<small> <span class="bz_info">
Time Summary will only include the [% terms.bugs %] shown above. In order to Time Summary will only include the [% terms.bugs %] shown above.
to see a time summary for all [% terms.bugs %] found by the search, you can In order to see a time summary for all [% terms.bugs %] found
by the search, you can
<a href="buglist.cgi?[% urlquerypart FILTER html %] <a href="buglist.cgi?[% urlquerypart FILTER html %]
[%- "&order=$qorder" FILTER html IF order %]&limit=0"> [%- "&order=$qorder" FILTER html IF order %]&limit=0">
Show all search results</a>.</small> show all search results</a>.
</span>
[% END %] [% END %]
[% END %] [% END %]
</td> </div>
<td>&nbsp;</td>
<td valign="middle" class="bz_query_links"> <div class="bz_query_links">
<a href="buglist.cgi? <a href="buglist.cgi?
[% urlquerypart FILTER html %]&amp;ctype=csv&amp;human=1">CSV</a> | [% urlquerypart FILTER html %]&amp;ctype=csv&amp;human=1">CSV</a> |
<a href="buglist.cgi? <a href="buglist.cgi?
...@@ -251,25 +248,21 @@ ...@@ -251,25 +248,21 @@
[%# Links to more things users can do with this bug list. %] [%# Links to more things users can do with this bug list. %]
[% Hook.process("links") %] [% Hook.process("links") %]
</td> </div>
[% END %]
<td valign="middle" class="bz_query_edit"> <div class="bz_query_edit">
<a href="[% PROCESS edit_search_url %]">Edit&nbsp;Search</a> <a href="[% PROCESS edit_search_url %]">Edit&nbsp;Search</a>
</td> </div>
[% IF searchtype == "saved" %] [% IF searchtype == "saved" %]
<td valign="middle" nowrap="nowrap" class="bz_query_forget"> <div class="bz_query_forget">
| | <a href="buglist.cgi?cmdtype=dorem&amp;remaction=forget&amp;namedcmd=
<a href="buglist.cgi?cmdtype=dorem&amp;remaction=forget&amp;namedcmd=
[% searchname FILTER uri %]&amp;token= [% searchname FILTER uri %]&amp;token=
[% issue_hash_token([search_id, searchname]) FILTER uri %]"> [% issue_hash_token([search_id, searchname]) FILTER uri %]">
Forget&nbsp;Search&nbsp;'[% searchname FILTER html %]'</a> Forget&nbsp;Search&nbsp;'[% searchname FILTER html %]'</a>
</td> </div>
[% ELSE %] [% ELSE %]
<td>&nbsp;</td> <div class="bz_query_remember">
<td valign="middle" class="bz_query_remember">
<form method="get" action="buglist.cgi"> <form method="get" action="buglist.cgi">
<input type="submit" id="remember" value="Remember search"> as <input type="submit" id="remember" value="Remember search"> as
<input type="hidden" name="newquery" <input type="hidden" name="newquery"
...@@ -280,10 +273,10 @@ ...@@ -280,10 +273,10 @@
<input type="text" id="save_newqueryname" name="newqueryname" size="20" <input type="text" id="save_newqueryname" name="newqueryname" size="20"
title="New query name" value="[% defaultsavename FILTER html %]"> title="New query name" value="[% defaultsavename FILTER html %]">
</form> </form>
</td> </div>
[% END %]
</div>
[% END %] [% END %]
</tr>
</table>
[% IF one_product.defined && bugs.size %] [% IF one_product.defined && bugs.size %]
<p class="bz_query_single_product"> <p class="bz_query_single_product">
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
header_addl_info = time header_addl_info = time
%] %]
<div align="center"> <div class="center">
[% imageurl = BLOCK %]chart.cgi? [% imageurl = BLOCK %]chart.cgi?
[% imagebase FILTER html %]&amp;ctype=png&amp;action=plot&amp;width= [% imagebase FILTER html %]&amp;ctype=png&amp;action=plot&amp;width=
......
...@@ -138,7 +138,7 @@ function subcatSelected() { ...@@ -138,7 +138,7 @@ function subcatSelected() {
[% FOREACH series = line %] [% FOREACH series = line %]
<tr> <tr>
[% IF loop.first %] [% IF loop.first %]
<td align="center" rowspan="[% line.size %]"> <td class="center" rowspan="[% line.size %]">
<input type="checkbox" value="1" name="select[% newidx %]"> <input type="checkbox" value="1" name="select[% newidx %]">
</td> </td>
<td rowspan="[% line.size %]"> <td rowspan="[% line.size %]">
...@@ -160,7 +160,7 @@ function subcatSelected() { ...@@ -160,7 +160,7 @@ function subcatSelected() {
value="[% series.series_id %]"> value="[% series.series_id %]">
</td> </td>
<td align="center"> <td>
[% IF user.id == series.creator_id OR user.in_group("admin") %] [% IF user.id == series.creator_id OR user.in_group("admin") %]
<a href="chart.cgi?action=edit&amp;series_id= <a href="chart.cgi?action=edit&amp;series_id=
[% series.series_id %]">Edit</a> | [% series.series_id %]">Edit</a> |
...@@ -181,7 +181,7 @@ function subcatSelected() { ...@@ -181,7 +181,7 @@ function subcatSelected() {
[% IF chart.gt %] [% IF chart.gt %]
<tr> <tr>
<td align="center"> <td class="center">
<input type="checkbox" value="1" name="select65536"> <input type="checkbox" value="1" name="select65536">
<input type="hidden" value="1" name="gt"> <input type="hidden" value="1" name="gt">
</td> </td>
......
...@@ -52,6 +52,19 @@ ...@@ -52,6 +52,19 @@
<input type="hidden" name="bug_id" value="[% bug_ids_string FILTER html %]"> <input type="hidden" name="bug_id" value="[% bug_ids_string FILTER html %]">
<table> <table>
<tr> <tr>
<td>Restrict to products:</td>
<td>
<select name="product" size="5" multiple="multiple">
[% FOREACH p = user.get_selectable_products %]
<option name="[% p.name FILTER html %]"
[% ' selected="selected"' IF product.contains(p.name) %]
>[% p.name FILTER html %]</option>
[% END %]
</select>
</td>
</tr>
<tr>
<td>When sorting or restricting, work with:</td> <td>When sorting or restricting, work with:</td>
<td> <td>
<input type="radio" name="sortvisible" id="entirelist" value="0" <input type="radio" name="sortvisible" id="entirelist" value="0"
...@@ -66,16 +79,6 @@ ...@@ -66,16 +79,6 @@
currently visible list currently visible list
</label> </label>
</td> </td>
<td rowspan="4" valign="top">Restrict to products:</td>
<td rowspan="4" valign="top">
<select name="product" size="5" multiple="multiple">
[% FOREACH p = user.get_selectable_products %]
<option name="[% p.name FILTER html %]"
[% ' selected="selected"' IF product.contains(p.name) %]
>[% p.name FILTER html %]</option>
[% END %]
</select>
</td>
</tr> </tr>
<tr> <tr>
......
...@@ -116,7 +116,7 @@ YAHOO.util.Event.addListener(window, "load", function() { ...@@ -116,7 +116,7 @@ YAHOO.util.Event.addListener(window, "load", function() {
return parseFloat(res[1]); return parseFloat(res[1]);
}; };
this.myDataSource = new YAHOO.util.DataSource(YAHOO.util.Dom.get("tabular_report")); this.myDataSource = new YAHOO.util.DataSource(YAHOO.util.Dom.get("tabular_report_[% tbl FILTER html FILTER js %]"));
this.myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE; this.myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
this.myDataSource.responseSchema = { this.myDataSource.responseSchema = {
fields: [ fields: [
...@@ -137,7 +137,7 @@ YAHOO.util.Event.addListener(window, "load", function() { ...@@ -137,7 +137,7 @@ YAHOO.util.Event.addListener(window, "load", function() {
<h2>[% tbl_disp FILTER email FILTER html %]</h2> <h2>[% tbl_disp FILTER email FILTER html %]</h2>
[% END %] [% END %]
<table> <table class="tabular_report_container">
<tr> <tr>
<td> <td>
</td> </td>
...@@ -147,7 +147,7 @@ YAHOO.util.Event.addListener(window, "load", function() { ...@@ -147,7 +147,7 @@ YAHOO.util.Event.addListener(window, "load", function() {
</tr> </tr>
<tr> <tr>
<td valign="middle"> <td class="middle">
<strong>[% row_field_disp FILTER html %]</strong> <strong>[% row_field_disp FILTER html %]</strong>
</td> </td>
<td> <td>
...@@ -158,7 +158,7 @@ YAHOO.util.Event.addListener(window, "load", function() { ...@@ -158,7 +158,7 @@ YAHOO.util.Event.addListener(window, "load", function() {
[% row_idx = 0 %] [% row_idx = 0 %]
[% total_key = '-total-' %] [% total_key = '-total-' %]
<div id="tabular_report_container_[% tbl FILTER html %]"> <div id="tabular_report_container_[% tbl FILTER html %]">
<table id="tabular_report"> <table id="tabular_report_[% tbl FILTER html %]" class="tabular_report">
[% IF col_field %] [% IF col_field %]
<thead> <thead>
<tr> <tr>
......
...@@ -66,8 +66,7 @@ ...@@ -66,8 +66,7 @@
[% END %] [% END %]
[% END %] [% END %]
<div align="center"> <div class="center">
[% FOREACH tbl = tbl_names %] [% FOREACH tbl = tbl_names %]
[% IF tbl == "-total-" %] [% IF tbl == "-total-" %]
[% tbl_disp = "Total" %] [% tbl_disp = "Total" %]
...@@ -108,6 +107,7 @@ ...@@ -108,6 +107,7 @@
{ name => "table", description => "Table" } ] %] { name => "table", description => "Table" } ] %]
[% formaturl = "report.cgi?$switchbase&amp;width=$width&amp;height=$height&amp;action=wrap" %] [% formaturl = "report.cgi?$switchbase&amp;width=$width&amp;height=$height&amp;action=wrap" %]
<p>
[% FOREACH other_format = formats %] [% FOREACH other_format = formats %]
[% NEXT IF other_format.name == "pie" AND row_field AND col_field %] [% NEXT IF other_format.name == "pie" AND row_field AND col_field %]
[% UNLESS other_format.name == format %] [% UNLESS other_format.name == format %]
...@@ -117,10 +117,8 @@ ...@@ -117,10 +117,8 @@
[% "</a>" UNLESS other_format.name == format %] | [% "</a>" UNLESS other_format.name == format %] |
[% END %] [% END %]
<a href="[% formaturl %]&amp;ctype=csv&amp;format=table">CSV</a> <a href="[% formaturl %]&amp;ctype=csv&amp;format=table">CSV</a>
</p>
<table>
<tr>
<td>
[% IF format == "table" %] [% IF format == "table" %]
<a href="query.cgi?[% switchbase %]&amp;format=report-table">Edit this report</a> <a href="query.cgi?[% switchbase %]&amp;format=report-table">Edit this report</a>
[% ELSE %] [% ELSE %]
...@@ -128,14 +126,12 @@ ...@@ -128,14 +126,12 @@
[%~ format FILTER uri %]&amp;format=report-graph&amp;cumulate=[% cumulate %]"> [%~ format FILTER uri %]&amp;format=report-graph&amp;cumulate=[% cumulate %]">
Edit this report</a> Edit this report</a>
[% END %] [% END %]
</td> |
<td>|</td>
<td>
[% IF saved_report_id %] [% IF saved_report_id %]
<a href="report.cgi?action=del&amp;saved_report_id=[% saved_report_id FILTER uri %]&amp;token= <a href="report.cgi?action=del&amp;saved_report_id=[% saved_report_id FILTER uri %]&amp;token=
[%~ issue_hash_token(['delete_report', saved_report_id]) FILTER uri %]">Forget this report</a> [%~ issue_hash_token(['delete_report', saved_report_id]) FILTER uri %]">Forget this report</a>
[% ELSE %] [% ELSE %]
<form method="get" action="report.cgi"> <form method="get" action="report.cgi" class="inline">
<input type="submit" id="remember" value="Remember report"> as <input type="submit" id="remember" value="Remember report"> as
<input type="hidden" name="query" value="[% switchbase %]&amp;format=[% format FILTER uri %]&amp;action=wrap"> <input type="hidden" name="query" value="[% switchbase %]&amp;format=[% format FILTER uri %]&amp;action=wrap">
<input type="hidden" name="action" value="add"> <input type="hidden" name="action" value="add">
...@@ -143,10 +139,6 @@ ...@@ -143,10 +139,6 @@
<input type="text" id="name" name="name" size="20" value="" maxlength="64"> <input type="text" id="name" name="name" size="20" value="" maxlength="64">
</form> </form>
[% END %] [% END %]
</td>
</tr>
</table>
</div> </div>
[% PROCESS global/footer.html.tmpl %] [% PROCESS global/footer.html.tmpl %]
...@@ -52,34 +52,26 @@ var queryform = "reportform" ...@@ -52,34 +52,26 @@ var queryform = "reportform"
[% button_name = "Generate Report" %] [% button_name = "Generate Report" %]
<form method="get" action="report.cgi" name="reportform" id="reportform"> <form method="get" action="report.cgi" name="reportform" id="reportform">
<table id="graphical_reports_menu">
<table align="center">
<tr> <tr>
<td valign="middle"> <th id="reports_menu_vertical_axis">
<b>Vertical Axis:</b><br> Vertical Axis:<br>
<noscript><small>(not for pie charts)</small><br></noscript>
[% PROCESS select name = 'y_axis_field' %]<br> [% PROCESS select name = 'y_axis_field' %]<br>
<br> <br>
<b>Plot Data Sets:</b><br> Plot Data Sets:<br>
<input type="radio" name="cumulate" value="0" <input type="radio" id="cumulate_indiv" name="cumulate" value="0"
[% " checked" IF default.cumulate.0 != "1" %]> [%+ 'checked="checked"' IF default.cumulate.0 != "1" %]>
Individually<br> <label for="cumulate_indiv">Individually</label><br>
<input type="radio" name="cumulate" value="1" <input type="radio" id="cumulate_stacked" name="cumulate" value="1"
[% " checked" IF default.cumulate.0 == "1" %]> [%+ 'checked="checked"' IF default.cumulate.0 == "1" %]>
Stacked <label for="cumulate_stacked">Stacked</label>
</td> </th>
<td width="150" height="150"> <th id="reports_menu_multiple_tables">
<table border="1" width="100%" height="100%"> Multiple Images:<br>
<tr>
<td align="center" valign="middle">
<b>Multiple Images:</b><br>
[% PROCESS select name = 'z_axis_field' %] [% PROCESS select name = 'z_axis_field' %]
</td> </th>
</tr> <th id="reports_menu_format">
</table> Format:<br>
</td>
<td rowspan="2">
<b>Format:</b><br>
[% chart_formats = [ [% chart_formats = [
{ name => "line", description => "Line Graph" }, { name => "line", description => "Line Graph" },
{ name => "bar", description => "Bar Chart" }, { name => "bar", description => "Bar Chart" },
...@@ -87,36 +79,36 @@ var queryform = "reportform" ...@@ -87,36 +79,36 @@ var queryform = "reportform"
[% default.chart_format.0 = default.chart_format.0 || "bar" %] [% default.chart_format.0 = default.chart_format.0 || "bar" %]
[% FOREACH chart_format = chart_formats %] [% FOREACH chart_format = chart_formats %]
<input type="radio" name="format" <input type="radio" id="format_[% chart_format.name FILTER html %]"
value="[% chart_format.name FILTER html %]" name="format" value="[% chart_format.name FILTER html %]"
onchange="chartTypeChanged()" onchange="chartTypeChanged()"
[% " checked" IF default.chart_format.0 == chart_format.name %]> [%+ 'checked="checked"' IF default.chart_format.0 == chart_format.name %]>
[% chart_format.description FILTER html %]<br> <label for="format_[% chart_format.name FILTER html %]">
[% chart_format.description FILTER html %]
</label><br>
[% END %] [% END %]
</td> </th>
</tr> </tr>
<tr> <tr>
<td> <th></th>
</td> <th id="reports_menu_horizontal_axis">
<td align="left"> Horizontal Axis:<br>
<b>Horizontal Axis:</b>
[% PROCESS select name = 'x_axis_field' %]<br> [% PROCESS select name = 'x_axis_field' %]<br>
<label for="x_labels_vertical"><b>Vertical labels:</b></label>
<input type="checkbox" name="x_labels_vertical" id="x_labels_vertical" <input type="checkbox" name="x_labels_vertical" id="x_labels_vertical"
value="1" value="1"
[% " checked" IF default.x_labels_vertical.0 == "1" %]> [%+ 'checked="checked"' IF default.x_labels_vertical.0 == "1" %]>
</td> <label for="x_labels_vertical">Vertical labels</label>
<td> </th>
</td> <th></th>
</tr> </tr>
</table> </table>
<hr> <hr>
[% PROCESS search/form.html.tmpl %] [% PROCESS search/form.html.tmpl %]
[% PROCESS "search/boolean-charts.html.tmpl" %] [% PROCESS "search/boolean-charts.html.tmpl" %]
<div id="knob"> <div id="knob">
<input type="submit" id="[% button_name FILTER css_class_quote %]" <input type="submit" id="[% button_name FILTER css_class_quote %]"
......
...@@ -35,36 +35,28 @@ var queryform = "reportform" ...@@ -35,36 +35,28 @@ var queryform = "reportform"
[% button_name = "Generate Report" %] [% button_name = "Generate Report" %]
<form method="get" action="report.cgi" name="reportform" id="reportform"> <form method="get" action="report.cgi" name="reportform" id="reportform">
<table id="tabular_reports_menu">
<table align="center">
<tr> <tr>
<td> <th></th>
</td> <th id="reports_menu_horizontal_axis">
<td align="center"> Horizontal Axis:<br>
<b>Horizontal Axis:</b>
[% PROCESS select name = 'x_axis_field' %] [% PROCESS select name = 'x_axis_field' %]
</td> </th>
</tr> </tr>
<tr> <tr>
<td valign="middle" align="center"> <th id="reports_menu_vertical_axis">
<b>Vertical Axis:</b><br> Vertical Axis:<br>
[% PROCESS select name = 'y_axis_field' %] [% PROCESS select name = 'y_axis_field' %]
</td> </th>
<td width="150" height="150"> <th id="reports_menu_multiple_tables">
<table border="1" width="100%"> Multiple Tables:<br>
<tr>
<td align="center" valign="middle" height="150">
<b>Multiple Tables:</b><br>
[% PROCESS select name = 'z_axis_field' %] [% PROCESS select name = 'z_axis_field' %]
</td> </th>
</tr> </tr>
</table> </table>
</td>
</tr>
</table>
<hr> <hr>
[% PROCESS search/form.html.tmpl %] [% PROCESS search/form.html.tmpl %]
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
[% body FILTER html %] [% body FILTER html %]
</pre> </pre>
<p align="left"> <p>
[% IF author.login == recipient.login %] [% IF author.login == recipient.login %]
<a href="[%+ urlbase FILTER html %]editwhines.cgi">Click <a href="[%+ urlbase FILTER html %]editwhines.cgi">Click
here to edit your whine schedule</a> here to edit your whine schedule</a>
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
<h2>[%+ query.title FILTER html %] ([% query.bugs.size %] [%+ terms.bugs %])</h2> <h2>[%+ query.title FILTER html %] ([% query.bugs.size %] [%+ terms.bugs %])</h2>
<table width="100%"> <table>
<tr> <tr>
<th>ID</th> <th>ID</th>
[% FOREACH col = query.columnlist %] [% FOREACH col = query.columnlist %]
...@@ -56,18 +56,18 @@ ...@@ -56,18 +56,18 @@
[% FOREACH bug=query.bugs %] [% FOREACH bug=query.bugs %]
<tr> <tr>
<td align="left"><a href="[%+ urlbase FILTER html %]show_bug.cgi?id= <td><a href="[%+ urlbase FILTER html %]show_bug.cgi?id=
[%- bug.bug_id %]">[% bug.bug_id %]</a></td> [%- bug.bug_id %]">[% bug.bug_id %]</a></td>
[% FOREACH col = query.columnlist %] [% FOREACH col = query.columnlist %]
[% NEXT IF col == 'bug_id' %] [% NEXT IF col == 'bug_id' %]
<td align="left">[% display_value(col, bug.$col) FILTER html %]</td> <td>[% display_value(col, bug.$col) FILTER html %]</td>
[% END %] [% END %]
</tr> </tr>
[% END %] [% END %]
</table> </table>
[% IF author.login == recipient.login %] [% IF author.login == recipient.login %]
<p align="left"> <p>
<a href="[% urlbase FILTER html %]buglist.cgi?cmdtype=runnamed&amp;namedcmd=[% query.name FILTER uri %]">View as [% terms.bug %] list</a> <a href="[% urlbase FILTER html %]buglist.cgi?cmdtype=runnamed&amp;namedcmd=[% query.name FILTER uri %]">View as [% terms.bug %] list</a>
</p> </p>
[% END %] [% END %]
......
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