summaryrefslogtreecommitdiffstats
path: root/template/en/default/list
diff options
context:
space:
mode:
Diffstat (limited to 'template/en/default/list')
-rw-r--r--template/en/default/list/edit-multiple.html.tmpl7
-rw-r--r--template/en/default/list/list.html.tmpl21
-rw-r--r--template/en/default/list/table.html.tmpl80
3 files changed, 72 insertions, 36 deletions
diff --git a/template/en/default/list/edit-multiple.html.tmpl b/template/en/default/list/edit-multiple.html.tmpl
index 92e578e8f..9ff95aad5 100644
--- a/template/en/default/list/edit-multiple.html.tmpl
+++ b/template/en/default/list/edit-multiple.html.tmpl
@@ -282,10 +282,12 @@
[% USE Bugzilla %]
[%# Show all legal values and all fields, ignoring visibility controls. %]
- [% bug = 0 %]
+ [% bug = default.defined ? default : 0 %]
[% FOREACH field = Bugzilla.active_custom_fields %]
+ [% NEXT IF cf_hidden_in_product(field.name, one_product, components) %]
<tr>
- [% PROCESS bug/field.html.tmpl value = dontchange
+ [% PROCESS bug/field.html.tmpl bug = default
+ value = dontchange
editable = 1
allow_dont_change = 1 %]
</tr>
@@ -427,6 +429,7 @@
[% FOREACH r = resolutions %]
[% NEXT IF !r %]
[% NEXT IF r == "DUPLICATE" || r == "MOVED" %]
+ [% NEXT IF r == "EXPIRED" AND user.login != "gerv@mozilla.org" %]
<option value="[% r FILTER html %]">[% display_value("resolution", r) FILTER html %]</option>
[% END %]
</select>
diff --git a/template/en/default/list/list.html.tmpl b/template/en/default/list/list.html.tmpl
index 4eeff5e64..cda06ac21 100644
--- a/template/en/default/list/list.html.tmpl
+++ b/template/en/default/list/list.html.tmpl
@@ -42,10 +42,11 @@
[%# Page Header #%]
[%############################################################################%]
+[% url_filtered_title = title FILTER uri %]
[% PROCESS global/header.html.tmpl
title = title
style = style
- atomlink = "buglist.cgi?$urlquerypart&title=$title&ctype=atom"
+ atomlink = "buglist.cgi?$urlquerypart&title=$url_filtered_title&ctype=atom"
yui = [ 'autocomplete', 'calendar' ]
javascript_urls = [ "js/util.js", "js/field.js" ]
style_urls = [ "skins/standard/buglist.css" ]
@@ -58,10 +59,16 @@
</span>
[% IF debug %]
- <p class="bz_query">[% query FILTER html %]</p>
- [% IF query_explain.defined %]
- <pre class="bz_query_explain">[% query_explain FILTER html %]</pre>
- [% END %]
+ <div class="bz_query_debug">
+ <p>Total execution time: [% query_time FILTER html %] seconds</p>
+ [% FOREACH query = queries %]
+ <p>[% query.sql FILTER html %]</p>
+ <p>Execution time: [% query.time FILTER html %] seconds</p>
+ [% IF query.explain %]
+ <pre>[% query.explain FILTER html %]</pre>
+ [% END %]
+ [% END %]
+ </div>
[% END %]
[% IF user.settings.display_quips.value == 'on' %]
@@ -84,7 +91,7 @@
'notequals', 'regexp', 'notregexp', 'lessthan', 'lessthaneq',
'greaterthan', 'greaterthaneq', 'changedbefore', 'changedafter',
'changedfrom', 'changedto', 'changedby', 'notsubstring', 'nowords',
- 'nowordssubstr', 'notmatches',
+ 'nowordssubstr', 'notmatches', 'isempty', 'isnotempty'
] %]
<ul class="search_description">
[% FOREACH desc_item = search_description %]
@@ -205,7 +212,7 @@
[% urlquerypart FILTER html %]&amp;ctype=csv&amp;human=1">CSV</a> |
<a href="buglist.cgi?
[% urlquerypart FILTER html %]&amp;title=
- [%- title FILTER html %]&amp;ctype=atom">Feed</a> |
+ [%- title FILTER uri %]&amp;ctype=atom">Feed</a> |
<a href="buglist.cgi?
[% urlquerypart FILTER html %]&amp;ctype=ics">iCalendar</a> |
<a href="colchange.cgi?
diff --git a/template/en/default/list/table.html.tmpl b/template/en/default/list/table.html.tmpl
index a074fcbd0..47dedb3cf 100644
--- a/template/en/default/list/table.html.tmpl
+++ b/template/en/default/list/table.html.tmpl
@@ -42,6 +42,7 @@
[% field_descs.reporter_realname = field_descs.reporter %]
[% field_descs.qa_contact_realname = field_descs.qa_contact %]
+[%# Setting maxlength => 0 means no limit. We set it for performance reasons. %]
[% abbrev =
{
"bug_severity" => { maxlength => 3 , title => "Sev" } ,
@@ -55,19 +56,21 @@
"qa_contact" => { maxlength => 30 , ellipsis => "..." , title => "QAContact" } ,
"qa_contact_realname" => { maxlength => 20 , ellipsis => "..." , title => "QAContact" } ,
"resolution" => { maxlength => 4 } ,
- "short_desc" => { wrap => 1 } ,
+ "short_desc" => { maxlength => 0, wrap => 1 } ,
"short_short_desc" => { maxlength => 60 , ellipsis => "..." , wrap => 1 } ,
- "status_whiteboard" => { title => "Whiteboard" , wrap => 1 } ,
- "keywords" => { wrap => 1 } ,
- "flagtypes.name" => { wrap => 1 } ,
+ "status_whiteboard" => { maxlength => 0, title => "Whiteboard" , wrap => 1 } ,
+ "keywords" => { maxlength => 0, wrap => 1 } ,
+ "dependson" => { maxlength => 0, wrap => 1 } ,
+ "blocked" => { maxlength => 0, wrap => 1 } ,
+ "flagtypes.name" => { maxlength => 0, wrap => 1 } ,
"component" => { maxlength => 8 , title => "Comp" } ,
"product" => { maxlength => 8 } ,
"version" => { maxlength => 5 , title => "Vers" } ,
"op_sys" => { maxlength => 4 } ,
"bug_file_loc" => { maxlength => 30 } ,
- "target_milestone" => { title => "TargetM" } ,
- "longdescs.count" => { title => "# Comments" },
- "percentage_complete" => { format_value => "%d %%" } ,
+ "target_milestone" => { maxlength => 0, title => "TargetM" } ,
+ "longdescs.count" => { maxlength => 0, title => "# Comments" },
+ "percentage_complete" => { maxlength => 0, format_value => "%d %%" } ,
}
%]
@@ -80,12 +83,15 @@
[%############################################################################%]
[% tableheader = BLOCK %]
- <table class="bz_buglist" cellspacing="0" cellpadding="4" width="100%">
+ <table class="bz_buglist sortable" cellspacing="0" cellpadding="4" width="100%">
+ <thead>
<tr class="bz_buglist_header bz_first_buglist_header">
[% IF dotweak %]
<th>&nbsp;</th>
[% END %]
- <th colspan="[% splitheader ? 2 : 1 %]" class="first-child">
+ <th colspan="[% splitheader ? 2 : 1 %]" class="first-child
+ sortable_column_0
+ sorted_[% lsearch(order_columns, 'bug_id') FILTER html %]">
<a href="buglist.cgi?
[% urlquerypart FILTER html %]&amp;order=
[% PROCESS new_order id='bug_id' %]
@@ -100,7 +106,7 @@
[% FOREACH id = displaycolumns %]
[% NEXT UNLESS loop.count() % 2 == 0 %]
[% column = columns.$id %]
- [% PROCESS columnheader %]
+ [% PROCESS columnheader key=loop.count() %]
[% END %]
</tr><tr class="bz_buglist_header">
@@ -112,7 +118,7 @@
[% FOREACH id = displaycolumns %]
[% NEXT IF loop.count() % 2 == 0 %]
[% column = columns.$id %]
- [% PROCESS columnheader %]
+ [% PROCESS columnheader key=loop.count() %]
[% END %]
[% ELSE %]
@@ -125,10 +131,13 @@
[% END %]
</tr>
+ </thead>
[% END %]
[% BLOCK columnheader %]
- <th colspan="[% splitheader ? 2 : 1 %]">
+ <th colspan="[% splitheader ? 2 : 1 %]"
+ class="sortable_column_[% key FILTER html %]
+ sorted_[% lsearch(order_columns, id) FILTER html %]">
<a href="buglist.cgi?[% urlquerypart FILTER html %]&amp;order=
[% PROCESS new_order %]
[%-#%]&amp;query_based_on=
@@ -151,13 +160,13 @@
[% END %]
[% BLOCK order_arrow %]
- [% IF order.match("^$id DESC") %]
+ [% IF order.search("^$id DESC") %]
<span class="bz_sort_order_primary">&#x25BC;</span>
- [% ELSIF order.match("^$id(,\\s*|\$)") %]
+ [% ELSIF order.search("^$id(,\\s*|\$)") %]
<span class="bz_sort_order_primary">&#x25B2;</span>
- [% ELSIF order.match("\\b$id DESC") %]
+ [% ELSIF order.search("\\b$id DESC") %]
<span class="bz_sort_order_secondary">&#x25BC;</span>
- [% ELSIF order.match("\\b$id(,\\s*|\$)") %]
+ [% ELSIF order.search("\\b$id(,\\s*|\$)") %]
<span class="bz_sort_order_secondary">&#x25B2;</span>
[% END %]
[% END %]
@@ -168,6 +177,7 @@
[% tableheader %]
+<tbody class="sorttable_body">
[% FOREACH bug = bugs %]
[% count = loop.count() %]
@@ -192,13 +202,24 @@
</td>
[% FOREACH column = displaycolumns %]
- <td [% 'style="white-space: nowrap"' IF NOT abbrev.$column.wrap %]
- class="bz_[% column FILTER css_class_quote %]_column">
- [% IF abbrev.$column.maxlength %]
+ [% col_abbrev = abbrev.$column %]
+ <td [% 'style="white-space: nowrap"' IF NOT col_abbrev.wrap %]
+ class="bz_[% column FILTER css_class_quote %]_column"
+ [% SWITCH column %]
+ [% CASE 'opendate' %]
+ sorttable_customkey="[% bug.opentime FILTER html %]"
+ [% CASE 'changeddate' %]
+ sorttable_customkey="[% bug.changedtime FILTER html %]"
+ [% CASE columns_sortkey.keys %]
+ [% SET sortkey = columns_sortkey.$column.${bug.$column} %]
+ sorttable_customkey="[% sortkey FILTER html %]"
+ [% END %]
+ >
+ [% IF col_abbrev.maxlength %]
<span title="[%- display_value(column, bug.$column) FILTER html %]">
[% END %]
- [% IF abbrev.$column.format_value %]
- [%- bug.$column FILTER format(abbrev.$column.format_value) FILTER html -%]
+ [% IF col_abbrev.format_value %]
+ [%- bug.$column FILTER format(col_abbrev.format_value) FILTER html -%]
[% ELSIF column == 'actual_time' ||
column == 'remaining_time' ||
column == 'estimated_time' %]
@@ -206,16 +227,20 @@
[%# Display the login name of the user if their real name is empty. %]
[% ELSIF column.match('_realname$') && bug.$column == '' %]
[% SET login_column = column.remove('_realname$') %]
- [% bug.${login_column}.truncate(abbrev.$column.maxlength,
- abbrev.$column.ellipsis) FILTER html %]
+ [% bug.${login_column}.truncate(col_abbrev.maxlength,
+ col_abbrev.ellipsis) FILTER html %]
[% ELSIF column == 'short_desc' || column == "short_short_desc" %]
<a href="show_bug.cgi?id=[% bug.bug_id FILTER html %]">
- [%- bug.$column.truncate(abbrev.$column.maxlength, abbrev.$column.ellipsis) FILTER html -%]
+ [%- bug.$column.truncate(col_abbrev.maxlength, col_abbrev.ellipsis) FILTER html -%]
+ </a>
+ [% ELSIF bug_fields.$column.type == constants.FIELD_TYPE_BUG_ID %]
+ <a href="show_bug.cgi?id=[% bug.$column FILTER html %]">
+ [%- bug.$column.truncate(col_abbrev.maxlength, col_abbrev.ellipsis) FILTER html -%]
</a>
[% ELSE %]
- [%- display_value(column, bug.$column).truncate(abbrev.$column.maxlength, abbrev.$column.ellipsis) FILTER html -%]
+ [%- display_value(column, bug.$column).truncate(col_abbrev.maxlength, col_abbrev.ellipsis) FILTER html -%]
[% END %]
- [% IF abbrev.$column.maxlength %]
+ [% IF col_abbrev.maxlength %]
</span>
[% END %]
</td>
@@ -223,11 +248,12 @@
</tr>
- [% IF loop.last() && time_info.time_present == 1 %]
+ [% IF time_info.time_present %]
[% PROCESS time_summary_line %]
[% END %]
[% END %]
+</tbody>
</table>