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