diff options
-rw-r--r-- | Bugzilla/Install/Requirements.pm | 2 | ||||
-rwxr-xr-x | buglist.cgi | 6 | ||||
-rw-r--r-- | template/en/default/list/table.html.tmpl | 13 |
3 files changed, 16 insertions, 5 deletions
diff --git a/Bugzilla/Install/Requirements.pm b/Bugzilla/Install/Requirements.pm index 8fd8fe2c6..05f74e81f 100644 --- a/Bugzilla/Install/Requirements.pm +++ b/Bugzilla/Install/Requirements.pm @@ -78,7 +78,7 @@ sub REQUIRED_MODULES { { package => 'Template-Toolkit', module => 'Template', - version => '2.12' + version => '2.15' }, { package => 'Email-Send', diff --git a/buglist.cgi b/buglist.cgi index 0f98a3811..fa75778b9 100755 --- a/buglist.cgi +++ b/buglist.cgi @@ -873,6 +873,7 @@ if ($order) { # A custom list of columns. Make sure each column is valid. foreach my $fragment (split(/,/, $order)) { $fragment = trim($fragment); + next unless $fragment; # Accept an order fragment matching a column name, with # asc|desc optionally following (to specify the direction) if (grep($fragment =~ /^\Q$_\E(\s+(asc|desc))?$/, @columnnames, keys(%$columns))) { @@ -893,11 +894,12 @@ if ($order) { $order = join(",", @order); # Now that we have checked that all columns in the order are valid, # detaint the order string. - trick_taint($order); + trick_taint($order) if $order; }; } } -else { + +if (!$order) { # DEFAULT $order = "bugs.bug_status, bugs.priority, map_assigned_to.login_name, bugs.bug_id"; } diff --git a/template/en/default/list/table.html.tmpl b/template/en/default/list/table.html.tmpl index 8941eb515..c2904ceb9 100644 --- a/template/en/default/list/table.html.tmpl +++ b/template/en/default/list/table.html.tmpl @@ -88,8 +88,12 @@ [% IF sorted_by_relevance %] ID [% ELSE %] + [% desc = '' %] + [% IF (om = order.match("^bugs\.bug_id( desc)?")) %] + [% desc = ' desc' IF NOT om.0 %] + [% END %] <a href="buglist.cgi? - [% urlquerypart FILTER html %]&order=bugs.bug_id + [% urlquerypart FILTER html %]&order=bugs.bug_id[% desc FILTER url_quote %] [%-#%]&query_based_on= [% defaultsavename OR searchname FILTER url_quote %]">ID</a> [% END %] @@ -139,8 +143,13 @@ [%# Other columns may sort on their name directly. %] [% column.sortalias = column.name %] [% END %] + [% desc = '' %] + [% IF (om = order.match("$column.sortalias( desc)?")) %] + [% desc = ' desc' IF NOT om.0 %] + [% END %] + [% order = order.remove("$column.sortalias( desc)?,?") %] <a href="buglist.cgi?[% urlquerypart FILTER html %]&order= - [% column.sortalias FILTER url_quote %] + [% column.sortalias FILTER url_quote %][% desc FILTER url_quote %] [% ",$order" FILTER url_quote IF order %] [%-#%]&query_based_on= [% defaultsavename OR searchname FILTER url_quote %]"> |