Bug 840407: Remove the "align" and "valign" attributes
r/a=justdave git-svn-id: svn://10.0.0.236/trunk@265167 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
52746ca1dc
commit
976adc7fad
@ -1 +1 @@
|
||||
8851
|
||||
8852
|
||||
@ -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%">
|
||||
|
||||
</td>
|
||||
<td width="40%">
|
||||
<b>but not when (overrides above):</b>
|
||||
</td>
|
||||
|
||||
<tr class="column_header">
|
||||
<th colspan="[% num_columns FILTER html %]"> </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&id=[% flag_type.id %]&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&id=[% flag_type.id %]&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> </td><td> </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><none></i></td></tr>
|
||||
<tr><td colspan="[% columns.size %]" class="center"><i><none></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"> </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> </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"> </td>
|
||||
<td class="forbidden"> </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"> </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> </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"> </td>
|
||||
<td class="forbidden"> </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 %]&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> </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"> </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> </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> </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>
|
||||
|
||||
<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> </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> </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 %]
|
||||
|
||||
<input type="checkbox" name="detailed" [% 'checked="checked"' IF
|
||||
detailed %] id="detailed">
|
||||
<label for="detailed" accesskey="t">De<u>t</u>ailed summaries</label>
|
||||
|
||||
<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> </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 %]&cloned_bug_id=[% cloned_bug_id FILTER uri %][% END -%]
|
||||
[%- IF format %]&format=[% format FILTER uri %][% END %]">
|
||||
All</a>:
|
||||
</th>
|
||||
|
||||
<td valign="top"> Show all products</td>
|
||||
<td>Show all products</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="2"> </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 %]&cloned_bug_id=[% cloned_bug_id FILTER uri %][% END -%]
|
||||
[%- IF format %]&format=[% format FILTER uri %][% END %]">
|
||||
@ -45,7 +45,7 @@
|
||||
</th>
|
||||
|
||||
[% IF class.description %]
|
||||
<td valign="top"> [% 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 %]&cloned_bug_id=[% cloned_bug_id FILTER uri %][% END -%]
|
||||
[%- IF cloned_bug_id %]&cloned_bug_id=[% cloned_bug_id FILTER uri %][% END -%]
|
||||
[%- IF format %]&format=[% format FILTER uri %][% END %]">
|
||||
[% p.name FILTER html FILTER no_break %]</a>:
|
||||
</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> </td>
|
||||
|
||||
<td valign="middle" class="bz_query_links">
|
||||
</div>
|
||||
|
||||
<div class="bz_query_links">
|
||||
<a href="buglist.cgi?
|
||||
[% urlquerypart FILTER html %]&ctype=csv&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 Search</a>
|
||||
</td>
|
||||
|
||||
[% IF searchtype == "saved" %]
|
||||
<td valign="middle" nowrap="nowrap" class="bz_query_forget">
|
||||
|
|
||||
<a href="buglist.cgi?cmdtype=dorem&remaction=forget&namedcmd=
|
||||
</div>
|
||||
|
||||
<div class="bz_query_edit">
|
||||
<a href="[% PROCESS edit_search_url %]">Edit Search</a>
|
||||
</div>
|
||||
|
||||
[% IF searchtype == "saved" %]
|
||||
<div class="bz_query_forget">
|
||||
| <a href="buglist.cgi?cmdtype=dorem&remaction=forget&namedcmd=
|
||||
[% searchname FILTER uri %]&token=
|
||||
[% issue_hash_token([search_id, searchname]) FILTER uri %]">
|
||||
Forget Search '[% searchname FILTER html %]'</a>
|
||||
</td>
|
||||
[% ELSE %]
|
||||
<td> </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 Search '[% 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 %]&ctype=png&action=plot&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&series_id=
|
||||
[% series.series_id %]">Edit</a> |
|
||||
@ -172,7 +172,7 @@ function subcatSelected() {
|
||||
[% series.subcategory FILTER uri %]%20/%20
|
||||
[% series.name FILTER uri -%]&series_id=
|
||||
[% series.series_id %]&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>
|
||||
|
||||
@ -51,6 +51,19 @@
|
||||
<input type="hidden" name="reverse" value="[% reverse FILTER html %]">
|
||||
<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>
|
||||
@ -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&width=$width&height=$height&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 %]&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 %]&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 %]&ctype=csv&format=table">CSV</a>
|
||||
</p>
|
||||
|
||||
[% IF format == "table" %]
|
||||
<a href="query.cgi?[% switchbase %]&format=report-table">Edit this report</a>
|
||||
[% ELSE %]
|
||||
<a href="query.cgi?[% switchbase %]&chart_format=
|
||||
[%~ format FILTER uri %]&format=report-graph&cumulate=[% cumulate %]">
|
||||
Edit this report</a>
|
||||
[% END %]
|
||||
|
|
||||
[% IF saved_report_id %]
|
||||
<a href="report.cgi?action=del&saved_report_id=[% saved_report_id FILTER uri %]&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 %]&format=[% format FILTER uri %]&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 %]&ctype=csv&format=table">CSV</a>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
[% IF format == "table" %]
|
||||
<a href="query.cgi?[% switchbase %]&format=report-table">Edit this report</a>
|
||||
[% ELSE %]
|
||||
<a href="query.cgi?[% switchbase %]&chart_format=
|
||||
[%~ format FILTER uri %]&format=report-graph&cumulate=[% cumulate %]">
|
||||
Edit this report</a>
|
||||
[% END %]
|
||||
</td>
|
||||
<td>|</td>
|
||||
<td>
|
||||
[% IF saved_report_id %]
|
||||
<a href="report.cgi?action=del&saved_report_id=[% saved_report_id FILTER uri %]&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 %]&format=[% format FILTER uri %]&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 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" %]
|
||||
|
||||
<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" 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>
|
||||
|
||||
[% 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>
|
||||
<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>
|
||||
|
||||
<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>
|
||||
|
||||
<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">
|
||||
<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&namedcmd=[% query.name FILTER uri %]">View as [% terms.bug %] list</a>
|
||||
</p>
|
||||
[% END %]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user