Wikia

Request Tracker Wiki

WatcherSummary

Comments0
857pages on
this wiki

Based on QueueSummary, aka the "Quick search" box on the RT at a glance page, this gives you a grid showing how many tickets the user is listed as Requestor, Cc, Owner, or AdminCc of, and what the status of the ticket is, with links to the searches showing the actual tickets.

It looks something like this:

Watched Tickets Edit

<strong>Type</strong> <strong>new</strong> <strong>open</strong> <strong>stalled</strong> <strong>resolved</strong> <strong>rejected</strong>
Requestor 45 2 ‎0 579 ‎0
Owner ‎0 ‎0 ‎0 49 ‎0
Cc ‎0 ‎0 ‎0 ‎0 ‎0

| AdminCc | ‎0 | ‎0 | ‎0 | 1 | ‎0 |

Put this into html/Elements/WatcherSummary:

<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
       <th class="collection-as-table"><&|/l&>Type</&></th>
% for my $condition (@$conditions) {
       <th class="collection-as-table"><% $condition->{name} %></th>
% }
</tr>
% my $i;
% for my $type (@types) {
%   $i++;
%   my $type_cond = "$type.Id = ".$UserObj->Id;
%   my $all_q = $type_cond;
<tr class="<% $i%2 ? 'oddline' : 'evenline'%>" >
<td><a href="<% $RT::WebPath%>/Search/Results.html?Query=<%$all_q%>"><%$type%></a></td>
%   for my $condition (@$conditions) {
%       my $Tickets = RT::Tickets->new($session{'CurrentUser'});
%       $Tickets->FromSQL($type_cond." AND ".$condition->{cond});
<td align="right"><a href="<% $RT::WebPath%>/Search/Results.html?Query=<%$type_cond." AND ".$condition->{cond}%>"><% $Tickets->Count %></a></td>
%   }
</tr>
% }
</table>
<%INIT>
my @types = ('Requestor', 'Owner', 'Cc', 'AdminCc');
</%INIT>
<%ARGS>
$UserObj => undef
$conditions => ()
</%ARGS>


I like to use it in Admin/Users/Memberships.html, like so:

--- share/html/Admin/Users/Memberships.html     2006-06-19 15:44:04.000000000 -0700
+++ local/html/Admin/Users/Memberships.html     2006-09-20 16:37:26.000000000 -0700
@@ -54,6 +54,17 @@

 <& /Elements/ShowMemberships, UserObj => $UserObj &>

+<&| /Widgets/TitleBox, title => loc('Watched Tickets'),
+    title_href => "$RT::WebPath/Search/Results.html?Query=Watcher.Id=".$UserObj->Id &>
+<& /Elements/WatcherSummary,
+   UserObj => $UserObj,
+   conditions => [ {cond => "Status = 'new'",  name => loc ('new') },
+                  {cond => "Status = 'open'", name => loc ('open') },
+                  {cond => "Status = 'stalled'", name => loc ('stalled') },
+                  {cond => "Status = 'resolved'", name => loc ('resolved') },
+                  {cond => "Status = 'rejected'", name => loc ('rejected') }] &>
+</&>
+
 <%INIT>
 my $UserObj = RT::User->new($session{'CurrentUser'});
 $UserObj->Load($id) || Abort("Couldn't load user '$id'");

Around Wikia's network

Random Wiki