From: lpsolit%gmail.com <> Date: Sun, 3 Feb 2008 17:37:20 +0000 (+0000) Subject: Bug 378797: Ability to turn "My votes" page into a bug list - Patch by GavinS r/a=LpSolit --- 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 7328b2d778..50dff7d5ea 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 %] [% product.name FILTER html %] - + ([% terms.bug %] list) + + [% IF product.maxperbug < product.maxvotes AND product.maxperbug > 1 %] @@ -142,7 +148,9 @@ [% IF canedit %] - + or + view all + as [% terms.bug %] list

To change your votes, @@ -154,6 +162,9 @@ change the checkbox [% END %] and then click Change My Votes. + [% ELSE %] + View all + as [% terms.bug %] list [% END %] [% ELSE %] diff --git a/votes.cgi b/votes.cgi index 9dc728ef8a..961db7aa5a 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)