Commit 50181f70 authored by lpsolit%gmail.com's avatar lpsolit%gmail.com

Bug 63536: User preference for whether or not to go to the next bug after…

Bug 63536: User preference for whether or not to go to the next bug after processing - Patch by byron jones (glob) <bugzilla@glob.com.au> r=LpSolit a=justdave
parent f7f3311b
...@@ -4046,6 +4046,13 @@ add_setting ("comment_sort_order", {"oldest_to_newest" => 1, ...@@ -4046,6 +4046,13 @@ add_setting ("comment_sort_order", {"oldest_to_newest" => 1,
"newest_to_oldest_desc_first" => 3}, "newest_to_oldest_desc_first" => 3},
"oldest_to_newest" ); "oldest_to_newest" );
# 2005-05-12 bugzilla@glob.com.au -- Bug 63536
add_setting ("post_bug_submit_action", {"next_bug" => 1,
"same_bug" => 2,
"nothing" => 3,
},
"next_bug" );
########################################################################### ###########################################################################
# Create Administrator --ADMIN-- # Create Administrator --ADMIN--
########################################################################### ###########################################################################
......
...@@ -193,20 +193,10 @@ if (defined $cgi->param('id')) { ...@@ -193,20 +193,10 @@ if (defined $cgi->param('id')) {
} }
# Set up the vars for nagiavtional <link> elements # Set up the vars for nagiavtional <link> elements
my $next_bug; my @bug_list;
if ($cgi->cookie("BUGLIST") && defined $cgi->param('id')) { if ($cgi->cookie("BUGLIST") && defined $cgi->param('id')) {
my @bug_list = split(/:/, $cgi->cookie("BUGLIST")); @bug_list = split(/:/, $cgi->cookie("BUGLIST"));
$vars->{'bug_list'} = \@bug_list; $vars->{'bug_list'} = \@bug_list;
my $cur = lsearch(\@bug_list, $cgi->param("id"));
if ($cur >= 0 && $cur < $#bug_list) {
$next_bug = $bug_list[$cur + 1];
# Note that we only bother with the bug_id here, and get
# the full bug object at the end, before showing the edit
# page. If you change this, remember that we have not
# done the security checks on the next bug yet
$vars->{'bug'} = { bug_id => $next_bug };
}
} }
GetVersionTable(); GetVersionTable();
...@@ -1829,28 +1819,47 @@ foreach my $id (@idlist) { ...@@ -1829,28 +1819,47 @@ foreach my $id (@idlist) {
} }
} }
# now show the next bug # Determine if Patch Viewer is installed, for Diff link
if ($next_bug) { # (NB: Duplicate code with show_bug.cgi.)
if (detaint_natural($next_bug) && Bugzilla->user->can_see_bug($next_bug)) { eval {
my $bug = new Bugzilla::Bug($next_bug, $whoid); require PatchReader;
ThrowCodeError("bug_error", { bug => $bug }) if $bug->error; $vars->{'patchviewerinstalled'} = 1;
};
# next.html.tmpl includes edit.html.tmpl, and therefore we $action = Bugzilla->user->settings->{'post_bug_submit_action'}->{'value'};
# need $bug defined in $vars.
$vars->{'bug'} = $bug;
# And we need to determine if Patch Viewer is installed, for if ($action eq 'next_bug') {
# Diff link (NB: Duplicate code with show_bug.cgi.) my $next_bug;
eval { my $cur = lsearch(\@bug_list, $cgi->param("id"));
require PatchReader; if ($cur >= 0 && $cur < $#bug_list) {
$vars->{'patchviewerinstalled'} = 1; $next_bug = $bug_list[$cur + 1];
}; }
if ($next_bug) {
if (detaint_natural($next_bug) && Bugzilla->user->can_see_bug($next_bug)) {
my $bug = new Bugzilla::Bug($next_bug, $whoid);
ThrowCodeError("bug_error", { bug => $bug }) if $bug->error;
$template->process("bug/process/next.html.tmpl", $vars) $vars->{'bugs'} = [$bug];
|| ThrowTemplateError($template->error()); $vars->{'nextbug'} = $bug->bug_id;
exit; $template->process("bug/show.html.tmpl", $vars)
|| ThrowTemplateError($template->error());
exit;
}
} }
} elsif ($action eq 'same_bug') {
my $bug = new Bugzilla::Bug($cgi->param('id'), $whoid);
ThrowCodeError("bug_error", { bug => $bug }) if $bug->error;
$vars->{'bugs'} = [$bug];
$template->process("bug/show.html.tmpl", $vars)
|| ThrowTemplateError($template->error());
exit;
} elsif ($action ne 'nothing') {
ThrowCodeError("invalid_post_bug_submit_action");
} }
# End the response page. # End the response page.
......
[%# 1.0@bugzilla.org %]
[%# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Myk Melez <myk@mozilla.org>
#%]
[%# INTERFACE:
# bug : Bug object; the next bug to show
#%]
[% PROCESS global/variables.none.tmpl %]
<hr>
<p>
The next [% terms.bug %] in your list is [% terms.bug %]
<a href="show_bug.cgi?id=[% bug.bug_id %]">[% bug.bug_id %]</a>:
</p>
<hr>
<table border="0" cellspacing="0" width="100%">
<tr>
<td valign="top" align="left" nowrap="nowrap">
<font size="+1">
<b>[%+ terms.Bugzilla %] [%+ terms.Bug %] [%+ bug.bug_id %]</b>
</font>
</td>
<td valign="middle" align="left">
&nbsp;
</td>
<td valign="middle" align="left">
[% bug.short_desc FILTER html %]
</td>
<td valign="middle" align="right">
Last modified: [% bug.delta_ts FILTER time %]
</td>
</tr>
</table>
[% PROCESS bug/navigate.html.tmpl %]
<hr>
[% PROCESS "bug/edit.html.tmpl" %]
<hr>
[% PROCESS bug/navigate.html.tmpl %]
<br>
[% PROCESS global/footer.html.tmpl %]
...@@ -26,19 +26,30 @@ ...@@ -26,19 +26,30 @@
[%# This script/template only handles one bug #%] [%# This script/template only handles one bug #%]
[% bug = bugs.0 %] [% bug = bugs.0 %]
[% filtered_desc = bug.short_desc FILTER html %] [% IF !header_done %]
[% filtered_timestamp = bug.delta_ts FILTER time %] [% filtered_desc = bug.short_desc FILTER html %]
[% PROCESS global/header.html.tmpl [% filtered_timestamp = bug.delta_ts FILTER time %]
title = "$terms.Bug $bug.bug_id - $bug.short_desc" [% PROCESS global/header.html.tmpl
h1 = "$terms.Bugzilla $terms.Bug $bug.bug_id" title = "$terms.Bug $bug.bug_id - $bug.short_desc"
h2 = filtered_desc h1 = "$terms.Bugzilla $terms.Bug $bug.bug_id"
h3 = "Last modified: $filtered_timestamp" h2 = filtered_desc
bodyclasses = ['bz_bug', h3 = "Last modified: $filtered_timestamp"
"bz_status_$bug.bug_status", bodyclasses = ['bz_bug',
"bz_component_$bug.component", "bz_status_$bug.bug_status",
"bz_bug_$bug.bug_id" "bz_component_$bug.component",
] "bz_bug_$bug.bug_id"
%] ]
%]
[% END %]
[% IF nextbug %]
<hr>
<p>
The next [% terms.bug %] in your list is [% terms.bug %]
<a href="show_bug.cgi?id=[% bug.bug_id %]">[% bug.bug_id %]</a>:
</p>
<hr>
[% END %]
[% PROCESS bug/navigate.html.tmpl %] [% PROCESS bug/navigate.html.tmpl %]
......
...@@ -364,6 +364,10 @@ ...@@ -364,6 +364,10 @@
'bug.deadline', 'bug.deadline',
], ],
'bug/show.html.tmpl' => [
'bug.bug_id',
],
'bug/show.xml.tmpl' => [ 'bug/show.xml.tmpl' => [
'VERSION', 'VERSION',
'a.attachid', 'a.attachid',
...@@ -407,10 +411,6 @@ ...@@ -407,10 +411,6 @@
'bug_id', 'bug_id',
], ],
'bug/process/next.html.tmpl' => [
'bug.bug_id',
],
'bug/process/results.html.tmpl' => [ 'bug/process/results.html.tmpl' => [
'title.$type', 'title.$type',
'id', 'id',
......
...@@ -297,6 +297,9 @@ ...@@ -297,6 +297,9 @@
There is an internal error in the SQL query generation code, There is an internal error in the SQL query generation code,
creating queries with implicit JOIN. creating queries with implicit JOIN.
[% ELSIF error == "invalid_post_bug_submit_action" %]
Invalid setting for post_bug_submit_action
[% ELSE %] [% ELSE %]
[% title = "Internal error" %] [% title = "Internal error" %]
An internal error has occured, but [% terms.Bugzilla %] doesn't know An internal error has occured, but [% terms.Bugzilla %] doesn't know
......
...@@ -27,5 +27,9 @@ ...@@ -27,5 +27,9 @@
"off" => "Off", "off" => "Off",
"oldest_to_newest" => "Oldest to Newest", "oldest_to_newest" => "Oldest to Newest",
"on" => "On" "on" => "On"
"post_bug_submit_action" => "After changing $terms.abug",
"next_bug" => "Show next $terms.bug in my list",
"same_bug" => "Show the updated $terms.bug",
"nothing" => "Do Nothing",
} }
%] %]
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment