summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormkanat%bugzilla.org <>2009-08-12 03:42:32 +0200
committermkanat%bugzilla.org <>2009-08-12 03:42:32 +0200
commitbf68d5918c2eea9b123ee36c7f3541cc1154e060 (patch)
treebb2dee504ca5a4e621a505b694284aa30f6c3866
parent73bb17590cf3f15166d20b028977d0c61a487b1e (diff)
downloadbugzilla-bf68d5918c2eea9b123ee36c7f3541cc1154e060.tar.gz
bugzilla-bf68d5918c2eea9b123ee36c7f3541cc1154e060.tar.xz
Bug 509108: Don't require a bug_list parameter to show the bug template (create the last_bug_list global template parameter)
Patch by Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=LpSolit
-rw-r--r--Bugzilla/Template.pm10
-rwxr-xr-xpost_bug.cgi6
-rwxr-xr-xprocess_bug.cgi1
-rwxr-xr-xshow_bug.cgi8
-rw-r--r--template/en/default/bug/create/created.html.tmpl2
-rw-r--r--template/en/default/bug/navigate.html.tmpl19
-rw-r--r--template/en/default/filterexceptions.pl11
-rw-r--r--template/en/default/global/site-navigation.html.tmpl26
8 files changed, 19 insertions, 64 deletions
diff --git a/Bugzilla/Template.pm b/Bugzilla/Template.pm
index 22ea4b7cc..d897cd946 100644
--- a/Bugzilla/Template.pm
+++ b/Bugzilla/Template.pm
@@ -756,7 +756,15 @@ sub create {
# Whether or not keywords are enabled, in this Bugzilla.
'use_keywords' => sub { return Bugzilla::Keyword->any_exist; },
-
+
+ 'last_bug_list' => sub {
+ my @bug_list;
+ my $cgi = Bugzilla->cgi;
+ if ($cgi->cookie("BUGLIST")) {
+ @bug_list = split(/:/, $cgi->cookie("BUGLIST"));
+ }
+ return \@bug_list;
+ },
# These don't work as normal constants.
DB_MODULE => \&Bugzilla::Constants::DB_MODULE,
diff --git a/post_bug.cgi b/post_bug.cgi
index c6e4006e0..f3b31e9a8 100755
--- a/post_bug.cgi
+++ b/post_bug.cgi
@@ -274,12 +274,6 @@ foreach my $i (@{$bug->dependson || []}, @{$bug->blocked || []}) {
push (@{$vars->{'sentmail'}}, { type => 'dep', id => $i, });
}
-my @bug_list;
-if ($cgi->cookie("BUGLIST")) {
- @bug_list = split(/:/, $cgi->cookie("BUGLIST"));
-}
-$vars->{'bug_list'} = \@bug_list;
-
if ($token) {
trick_taint($token);
$dbh->do('UPDATE tokens SET eventdata = ? WHERE token = ?', undef,
diff --git a/process_bug.cgi b/process_bug.cgi
index 85e6c60fc..c46dd6fb5 100755
--- a/process_bug.cgi
+++ b/process_bug.cgi
@@ -202,7 +202,6 @@ $vars->{'title_tag'} = "bug_processed";
my @bug_list;
if ($cgi->cookie("BUGLIST")) {
@bug_list = split(/:/, $cgi->cookie("BUGLIST"));
- $vars->{'bug_list'} = \@bug_list;
}
my ($action, $next_bug);
diff --git a/show_bug.cgi b/show_bug.cgi
index c0e543234..4a530269e 100755
--- a/show_bug.cgi
+++ b/show_bug.cgi
@@ -103,14 +103,6 @@ $vars->{'marks'} = \%marks;
my @bugids = map {$_->bug_id} grep {!$_->error} @bugs;
$vars->{'bugids'} = join(", ", @bugids);
-# Next bug in list (if there is one)
-my @bug_list;
-if ($cgi->cookie("BUGLIST")) {
- @bug_list = split(/:/, $cgi->cookie("BUGLIST"));
-}
-
-$vars->{'bug_list'} = \@bug_list;
-
# Work out which fields we are displaying (currently XML only.)
# If no explicit list is defined, we show all fields. We then exclude any
# on the exclusion list. This is so you can say e.g. "Everything except
diff --git a/template/en/default/bug/create/created.html.tmpl b/template/en/default/bug/create/created.html.tmpl
index 0a03a4d71..dd1be1c17 100644
--- a/template/en/default/bug/create/created.html.tmpl
+++ b/template/en/default/bug/create/created.html.tmpl
@@ -28,8 +28,6 @@
# this contents, see template bug/process/bugmail.html.tmpl
# bug: object; Bugzilla::Bug object of the bug that was created (used in
# template bug/edit.html.tmpl
- # bug_list: array of integers; sorted bug list (used in template
- # bug/navigate.html.tmpl)
#%]
[% PROCESS global/variables.none.tmpl %]
diff --git a/template/en/default/bug/navigate.html.tmpl b/template/en/default/bug/navigate.html.tmpl
index 7b8f3c827..9592301f7 100644
--- a/template/en/default/bug/navigate.html.tmpl
+++ b/template/en/default/bug/navigate.html.tmpl
@@ -36,30 +36,32 @@
<div class="navigation">
-[% IF bug_list && bug_list.size > 0 %]
- [% this_bug_idx = lsearch(bug_list, bug.bug_id) %]
+[% IF last_bug_list.size > 0 %]
+ [% this_bug_idx = lsearch(last_bug_list, bug.id) %]
<b>[% terms.Bug %] List:</b>
[% IF this_bug_idx != -1 %]
- ([% this_bug_idx + 1 %] of [% bug_list.size %])
+ ([% this_bug_idx + 1 %] of [% last_bug_list.size %])
[% END %]
[% IF this_bug_idx != -1 %]
- <a href="show_bug.cgi?id=[% bug_list.first %]">First</a>
- <a href="show_bug.cgi?id=[% bug_list.last %]">Last</a>
+ <a href="show_bug.cgi?id=[% last_bug_list.first FILTER url_quote %]">First</a>
+ <a href="show_bug.cgi?id=[% last_bug_list.last FILTER url_quote %]">Last</a>
[% END %]
[% IF bug.bug_id %]
[% IF this_bug_idx != -1 %]
[% IF this_bug_idx > 0 %]
[% prev_bug = this_bug_idx - 1 %]
- <a href="show_bug.cgi?id=[% bug_list.$prev_bug %]">Prev</a>
+ <a href="show_bug.cgi?id=
+ [%- last_bug_list.$prev_bug FILTER url_quote %]">Prev</a>
[% ELSE %]
<i><font color="#777777">Prev</font></i>
[% END %]
- [% IF this_bug_idx + 1 < bug_list.size %]
+ [% IF this_bug_idx + 1 < last_bug_list.size %]
[% next_bug = this_bug_idx + 1 %]
- <a href="show_bug.cgi?id=[% bug_list.$next_bug %]">Next</a>
+ <a href="show_bug.cgi?id=
+ [%- last_bug_list.$next_bug FILTER url_quote %]">Next</a>
[% ELSE %]
<i><font color="#777777">Next</font></i>
[% END %]
@@ -72,7 +74,6 @@
&nbsp;&nbsp;<a href="buglist.cgi?regetlastlist=1">Show last search results</a>
[% ELSE %]
- [%# Either !bug_list || bug_list.size <= 0 %]
[%# With no list, don't show link to search results %]
<i><font color="#777777">First</font></i>
<i><font color="#777777">Last</font></i>
diff --git a/template/en/default/filterexceptions.pl b/template/en/default/filterexceptions.pl
index 11c2804a8..7e0d99c36 100644
--- a/template/en/default/filterexceptions.pl
+++ b/template/en/default/filterexceptions.pl
@@ -250,10 +250,6 @@
],
'global/site-navigation.html.tmpl' => [
- 'bug_list.first',
- 'bug_list.$prev_bug',
- 'bug_list.$next_bug',
- 'bug_list.last',
'bug.bug_id',
'bug.votes',
],
@@ -300,13 +296,6 @@
'" spellcheck=\"$spellcheck\"" IF spellcheck',
],
-'bug/navigate.html.tmpl' => [
- 'bug_list.first',
- 'bug_list.last',
- 'bug_list.$prev_bug',
- 'bug_list.$next_bug',
-],
-
'bug/show-multiple.html.tmpl' => [
'attachment.id',
'flag.status',
diff --git a/template/en/default/global/site-navigation.html.tmpl b/template/en/default/global/site-navigation.html.tmpl
index 5440fe1f8..df60b7638 100644
--- a/template/en/default/global/site-navigation.html.tmpl
+++ b/template/en/default/global/site-navigation.html.tmpl
@@ -20,7 +20,6 @@
#%]
[%# INTERFACE:
- # bug_list: list of integers. List of bug numbers of current query (if any).
# bug.bug_id: integer. Number of current bug (for navigation purposes)
#%]
@@ -32,31 +31,6 @@
[% IF NOT (cgi.user_agent("MSIE [1-6]") OR cgi.user_agent("Mozilla/4")) %]
<link rel="Top" href="[% urlbase FILTER html %]">
- [%# *** Bug List Navigation *** %]
- [% IF bug_list && bug_list.size > 0 %]
- <link rel="Up" href="buglist.cgi?regetlastlist=1">
-
- <link rel="First" href="show_bug.cgi?id=[% bug_list.first %]">
- <link rel="Last" href="show_bug.cgi?id=[% bug_list.last %]">
-
- [% IF bug && bug.bug_id %]
- [% current_bug_idx = lsearch(bug_list, bug.bug_id) %]
- [% IF current_bug_idx != -1 %]
-
- [% IF current_bug_idx > 0 %]
- [% prev_bug = current_bug_idx - 1 %]
- <link rel="Prev" href="show_bug.cgi?id=[% bug_list.$prev_bug %]">
- [% END %]
-
- [% IF current_bug_idx + 1 < bug_list.size %]
- [% next_bug = current_bug_idx + 1 %]
- <link rel="Next" href="show_bug.cgi?id=[% bug_list.$next_bug %]">
- [% END %]
-
- [% END %]
- [% END %]
- [% END %]
-
[%# *** Attachment *** %]
[% IF attachment && attachment.bug_id %]
<link rel="Up" href="show_bug.cgi?id=[% attachment.bug_id FILTER none %]">