summaryrefslogtreecommitdiffstats
path: root/buglist.cgi
diff options
context:
space:
mode:
authorterry%mozilla.org <>2000-01-23 04:08:55 +0100
committerterry%mozilla.org <>2000-01-23 04:08:55 +0100
commit69c4be2d4794b0a8c66baeab5375c5cf3b8ffd9c (patch)
tree673a1767a93097b3038520caf33f1d65e5ae099b /buglist.cgi
parent2181b1425ce5acd7dd491a8ec60b51153c0580c3 (diff)
downloadbugzilla-69c4be2d4794b0a8c66baeab5375c5cf3b8ffd9c.tar.gz
bugzilla-69c4be2d4794b0a8c66baeab5375c5cf3b8ffd9c.tar.xz
Remember the previous sort order in a cookie, and make that the
default sort order for new queries. Add a new "show list" link to the navigation header to return you to the list of selected bugs.
Diffstat (limited to 'buglist.cgi')
-rwxr-xr-xbuglist.cgi27
1 files changed, 26 insertions, 1 deletions
diff --git a/buglist.cgi b/buglist.cgi
index 6f791a6df..488944fb4 100755
--- a/buglist.cgi
+++ b/buglist.cgi
@@ -29,7 +29,6 @@ use Date::Parse;
use vars %::MFORM,
@::components,
- @::db,
@::default_column_list,
@::keywordsbyname,
@::legal_keywords,
@@ -45,6 +44,7 @@ use vars %::MFORM,
ConnectToDatabase();
+# print "Content-type: text/plain\n\n"; # Handy for debugging.
if (!defined $::FORM{'cmdtype'}) {
# This can happen if there's an old bookmark to a query...
@@ -250,6 +250,23 @@ and bugs.version = projector.value
and bugs.groupset & $::usergroupset = bugs.groupset
";
+if ($::FORM{'regetlastlist'}) {
+ if (!$::COOKIE{'BUGLIST'}) {
+ print qq{
+Sorry, I seem to have lost the cookie that recorded the results of your last
+query. You will have to start over at the <A HREF="query.cgi">query page</A>.
+};
+ PutTrailer();
+ exit;
+ }
+ my @list = split(/:/, $::COOKIE{'BUGLIST'});
+ $::MFORM{'bug_id'} = \@list;
+ $::FORM{'bug_id'} = join('', $::MFORM{'bug_id'});
+ if (!$::FORM{'order'}) {
+ $::FORM{'order'} = 'reuse last sort';
+ }
+}
+
if ((defined $::FORM{'emailcc1'} && $::FORM{'emailcc1'}) ||
(defined $::FORM{'emailcc2'} && $::FORM{'emailcc2'})) {
@@ -532,7 +549,11 @@ foreach my $f ("short_desc", "long_desc", "bug_file_loc",
$query .= "group by bugs.bug_id\n";
+
if (defined $::FORM{'order'} && $::FORM{'order'} ne "") {
+ if ($::COOKIE{'LASTORDER'} && $::FORM{'order'} =~ /^reuse/i) {
+ $::FORM{'order'} = url_decode($::COOKIE{'LASTORDER'});
+ }
$query .= "order by ";
$::FORM{'order'} =~ s/votesum/bugs.votes/; # Silly backwards compatability
# hack.
@@ -732,6 +753,10 @@ if ($serverpush) {
# Note! HTML header not yet closed
}
my $toolong = 0;
+if ($::FORM{'order'}) {
+ my $q = url_quote($::FORM{'order'});
+ print "Set-Cookie: LASTORDER=$q ; path=/; expires=Sun, 30-Jun-2029 00:00:00 GMT\n";
+}
if (length($buglist) < 4000) {
print "Set-Cookie: BUGLIST=$buglist\n\n";
} else {