From 7d00b5f696249725beead3c570d73e36ff59ffa3 Mon Sep 17 00:00:00 2001 From: "lpsolit%gmail.com" <> Date: Sat, 3 Nov 2007 22:48:37 +0000 Subject: Bug 23473: Implement the ability to reverse the sort order in buglist.cgi ("Ascending" and "Descending") - Patch by Alex Schuilenburg r/a=LpSolit --- Bugzilla/Install/Requirements.pm | 2 +- buglist.cgi | 6 ++++-- 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 %] ID [% 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)?,?") %] -- cgit v1.2.3-24-g4f1b