From ce9111c398f25ac829c958349d15ebf2d3aa7b94 Mon Sep 17 00:00:00 2001 From: vfilippov Date: Wed, 16 Sep 2009 13:00:18 +0000 Subject: [PATCH] Bug 54380 Custom: XXX sort order in edit query git-svn-id: svn://svn.office.custis.ru/3rdparty/bugzilla.org/trunk@430 6955db30-a419-402b-8a0d-67ecbb4d7f56 --- buglist.cgi | 3 +-- query.cgi | 9 ++++++++- template/en/default/search/knob.html.tmpl | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/buglist.cgi b/buglist.cgi index 9f4bfa750..a0bf04659 100755 --- a/buglist.cgi +++ b/buglist.cgi @@ -1031,8 +1031,7 @@ $vars->{'closedstates'} = [map {$_->name} closed_bug_statuses()]; # a different sort order or when taking some action on the set of query # results). To get this string, we call the Bugzilla::CGI::canoncalise_query # function with a list of elements to be removed from the URL. -$vars->{'urlquerypart'} = $params->canonicalise_query('order', - 'cmdtype', +$vars->{'urlquerypart'} = $params->canonicalise_query('cmdtype', 'query_based_on'); $vars->{'order'} = $order; $vars->{'caneditbugs'} = 1; diff --git a/query.cgi b/query.cgi index eed492114..641e7b9c3 100755 --- a/query.cgi +++ b/query.cgi @@ -339,7 +339,14 @@ if ($cgi->cookie('LASTORDER')) { unshift(@orders, $deforder); } -if ($cgi->param('order')) { $deforder = $cgi->param('order') } +if ($cgi->param('order')) +{ + $deforder = $cgi->param('order'); + if (lsearch(\@orders, $deforder) < 0) + { + unshift @orders, $deforder; + } +} $vars->{'userdefaultquery'} = $userdefaultquery; $vars->{'orders'} = \@orders; diff --git a/template/en/default/search/knob.html.tmpl b/template/en/default/search/knob.html.tmpl index 17ff63a10..17a5598ac 100644 --- a/template/en/default/search/knob.html.tmpl +++ b/template/en/default/search/knob.html.tmpl @@ -47,7 +47,7 @@ [% FOREACH order = orders %] + [% (ordersdesc.$order || "Custom: " _ order) FILTER html %] [% END %]