diff options
author | mkanat%bugzilla.org <> | 2009-08-12 03:42:32 +0200 |
---|---|---|
committer | mkanat%bugzilla.org <> | 2009-08-12 03:42:32 +0200 |
commit | bf68d5918c2eea9b123ee36c7f3541cc1154e060 (patch) | |
tree | bb2dee504ca5a4e621a505b694284aa30f6c3866 | |
parent | 73bb17590cf3f15166d20b028977d0c61a487b1e (diff) | |
download | bugzilla-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.pm | 10 | ||||
-rwxr-xr-x | post_bug.cgi | 6 | ||||
-rwxr-xr-x | process_bug.cgi | 1 | ||||
-rwxr-xr-x | show_bug.cgi | 8 | ||||
-rw-r--r-- | template/en/default/bug/create/created.html.tmpl | 2 | ||||
-rw-r--r-- | template/en/default/bug/navigate.html.tmpl | 19 | ||||
-rw-r--r-- | template/en/default/filterexceptions.pl | 11 | ||||
-rw-r--r-- | template/en/default/global/site-navigation.html.tmpl | 26 |
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 @@ <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 %]"> |