]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 378797: Ability to turn "My votes" page into a bug list - Patch by GavinS <bugzil...
authorlpsolit%gmail.com <>
Sun, 3 Feb 2008 17:37:20 +0000 (17:37 +0000)
committerlpsolit%gmail.com <>
Sun, 3 Feb 2008 17:37:20 +0000 (17:37 +0000)
template/en/default/bug/votes/list-for-user.html.tmpl
votes.cgi

index 7328b2d778f8a7c710df783de3d0e1271c01dc3d..50dff7d5ea4ea811acc3536e32ae4aab2ec4449e 100644 (file)
@@ -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 %]
         [% 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">
     </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,
         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 %]
index 9dc728ef8a0f973eec2dfc7898e09ed25b7d626d..961db7aa5af038eb8fef314124f47cad428dda61 100755 (executable)
--- 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)