summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlpsolit%gmail.com <>2008-02-03 18:37:20 +0100
committerlpsolit%gmail.com <>2008-02-03 18:37:20 +0100
commit50d2c3150512323bbbbc0801ab79b06a13dd716d (patch)
tree1c8a6aa652d2a7287bd1b5997d9cfde2498784d9
parentd4526af8f063d02ae967e0e81de8782e3b2531a1 (diff)
downloadbugzilla-50d2c3150512323bbbbc0801ab79b06a13dd716d.tar.gz
bugzilla-50d2c3150512323bbbbc0801ab79b06a13dd716d.tar.xz
Bug 378797: Ability to turn "My votes" page into a bug list - Patch by GavinS <bugzilla@chimpychompy.org> r/a=LpSolit
-rw-r--r--template/en/default/bug/votes/list-for-user.html.tmpl15
-rwxr-xr-xvotes.cgi6
2 files changed, 19 insertions, 2 deletions
diff --git a/template/en/default/bug/votes/list-for-user.html.tmpl b/template/en/default/bug/votes/list-for-user.html.tmpl
index 7328b2d77..50dff7d5e 100644
--- a/template/en/default/bug/votes/list-for-user.html.tmpl
+++ b/template/en/default/bug/votes/list-for-user.html.tmpl
@@ -25,6 +25,7 @@
# voting:
# name: name of product
# bugs: list of bugs the user has voted for
+ # bug_ids: list of bug ids the user has voted for
# onevoteonly: one or more votes allowed per bug?
# total: users current vote count for the product
# maxvotes: max votes allowed for a user in this product
@@ -33,6 +34,8 @@
# bug_id: number; if the user is voting for a bug, this is the bug id
#
# canedit: boolean; Should the votes be presented in a form, or readonly?
+ #
+ # all_bug_ids: List of all bug ids the user has voted for, across all products
#%]
[% PROCESS global/variables.none.tmpl %]
@@ -89,7 +92,10 @@
[% END %]
<tr>
<th>[% product.name FILTER html %]</th>
- <td colspan="3">
+ <td colspan="2" ><a href="buglist.cgi?bug_id=
+ [%- product.bug_ids.join(",") FILTER url_quote %]">([% terms.bug %] list)</a>
+ </td>
+ <td>
[% IF product.maxperbug < product.maxvotes AND
product.maxperbug > 1 %]
<font size="-1">
@@ -142,7 +148,9 @@
</table>
[% IF canedit %]
- <input type="submit" value="Change My Votes" id="change">
+ <input type="submit" value="Change My Votes" id="change"> or
+ <a href="buglist.cgi?bug_id=[% all_bug_ids.join(",") FILTER url_quote %]">view all
+ as [% terms.bug %] list</a>
<br>
<br>
To change your votes,
@@ -154,6 +162,9 @@
change the checkbox
[% END %]
and then click <b>Change My Votes</b>.
+ [% ELSE %]
+ <a href="buglist.cgi?bug_id=[% all_bug_ids.join(",") FILTER url_quote %]">View all
+ as [% terms.bug %] list</a>
[% END %]
</form>
[% ELSE %]
diff --git a/votes.cgi b/votes.cgi
index 9dc728ef8..961db7aa5 100755
--- a/votes.cgi
+++ b/votes.cgi
@@ -144,6 +144,7 @@ sub show_user {
}
}
+ my @all_bug_ids;
my @products;
my $products = $user->get_selectable_products;
# Read the votes data for this user for each product.
@@ -151,6 +152,7 @@ sub show_user {
next unless ($product->votes_per_user > 0);
my @bugs;
+ my @bug_ids;
my $total = 0;
my $onevoteonly = 0;
@@ -178,6 +180,8 @@ sub show_user {
push (@bugs, { id => $id,
summary => $summary,
count => $count });
+ push (@bug_ids, $id);
+ push (@all_bug_ids, $id);
}
$onevoteonly = 1 if (min($product->votes_per_user,
@@ -187,6 +191,7 @@ sub show_user {
if ($#bugs > -1) {
push (@products, { name => $product->name,
bugs => \@bugs,
+ bug_ids => \@bug_ids,
onevoteonly => $onevoteonly,
total => $total,
maxvotes => $product->votes_per_user,
@@ -201,6 +206,7 @@ sub show_user {
$vars->{'voting_user'} = { "login" => $name };
$vars->{'products'} = \@products;
$vars->{'bug_id'} = $bug_id;
+ $vars->{'all_bug_ids'} = \@all_bug_ids;
print $cgi->header();
$template->process("bug/votes/list-for-user.html.tmpl", $vars)