diff options
author | jake%bugzilla.org <> | 2004-12-23 18:54:18 +0100 |
---|---|---|
committer | jake%bugzilla.org <> | 2004-12-23 18:54:18 +0100 |
commit | 16a4553913f69fa9da5e6c816c6c747514630aa2 (patch) | |
tree | df19248128ff481c4aa0a69ec119f72f735778c6 | |
parent | 298360bc7d0412a97205558168652e6aeb8c7526 (diff) | |
download | bugzilla-16a4553913f69fa9da5e6c816c6c747514630aa2.tar.gz bugzilla-16a4553913f69fa9da5e6c816c6c747514630aa2.tar.xz |
Bug 274397 - Editing a saved search should now work even after clicking "Show List" from a bug.
Patch by Colin S. Ogilvie <colin.ogilvie@gmail.com>
r=wurblzap, a=justdave
-rwxr-xr-x | buglist.cgi | 19 | ||||
-rwxr-xr-x | userprefs.cgi | 17 |
2 files changed, 26 insertions, 10 deletions
diff --git a/buglist.cgi b/buglist.cgi index 3379aa70a..bdda404a3 100755 --- a/buglist.cgi +++ b/buglist.cgi @@ -132,10 +132,11 @@ if ($::FORM{'regetlastlist'}) { $cgi->cookie('BUGLIST') || ThrowUserError("missing_cookie"); $order = "reuse last sort" unless $order; - + my $bug_id = $cgi->cookie('BUGLIST'); + $bug_id =~ s/:/,/g; # set up the params for this new query $params = new Bugzilla::CGI({ - bug_id => [split(/:/, $cgi->cookie('BUGLIST'))], + bug_id => $bug_id, order => $order, }); } @@ -309,13 +310,6 @@ if ($::FORM{'cmdtype'} eq "dorem") { $params = new Bugzilla::CGI($::buffer); $order = $params->param('order') || $order; - # backward compatibility hack: if the saved query doesn't say which - # form was used to create it, assume it was on the advanced query - # form - see bug 252295 - if (!$params->param('query_format')) { - $params->param('query_format', 'advanced'); - $::buffer = $params->query_string; - } } elsif ($::FORM{'remaction'} eq "runseries") { $::buffer = LookupSeries($::FORM{"series_id"}); @@ -418,6 +412,13 @@ elsif (($::FORM{'cmdtype'} eq "doit") && $::FORM{'remtype'}) { } } +# backward compatibility hack: if the saved query doesn't say which +# form was used to create it, assume it was on the advanced query +# form - see bug 252295 +if (!$params->param('query_format')) { + $params->param('query_format', 'advanced'); + $::buffer = $params->query_string; +} ################################################################################ # Column Definition diff --git a/userprefs.cgi b/userprefs.cgi index f71fdec02..f8de9915d 100755 --- a/userprefs.cgi +++ b/userprefs.cgi @@ -298,8 +298,23 @@ sub DoPermissions { sub DoSavedSearches() { + # 2004-12-13 - colin.ogilvie@gmail.com, bug 274397 + # Need to work around the possibly missing query_format=advanced $vars->{'user'} = Bugzilla->user; - $vars->{'queries'} = Bugzilla->user->queries; + my @queries = @{Bugzilla->user->queries}; + my @newqueries; + foreach my $q (@queries) { + if ($q->{'query'} !~ /query_format=(advanced|specific)/) { + if ($q->{'query'} =~ /query_format=&/) { + $q->{'query'} =~ s/query_format=&/query_format=advanced&/; + } + else { + $q->{'query'} .= '&query_format=advanced'; + } + } + push @newqueries, $q; + } + $vars->{'queries'} = \@newqueries; } sub SaveSavedSearches() { |