https://rt-wiki.bestpractical.com/index.php?title=WatcherSummary&feed=atom&action=history
WatcherSummary - Revision history
2024-03-29T13:49:34Z
Revision history for this page on the wiki
MediaWiki 1.37.2
https://rt-wiki.bestpractical.com/index.php?title=WatcherSummary&diff=4186&oldid=prev
Admin: 2 revisions imported
2016-04-06T20:39:41Z
<p>2 revisions imported</p>
<p><b>New page</b></p><div>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.<br />
<br />
It looks something like this:<br />
<br />
=== Watched Tickets ===<br />
<br />
{| border="1"<br />
|- valign="top"<br />
| &lt;strong&gt;Type&lt;/strong&gt;<br />
| &lt;strong&gt;new&lt;/strong&gt;<br />
| &lt;strong&gt;open&lt;/strong&gt;<br />
| &lt;strong&gt;stalled&lt;/strong&gt;<br />
| &lt;strong&gt;resolved&lt;/strong&gt;<br />
| &lt;strong&gt;rejected&lt;/strong&gt;<br />
|- valign="top"<br />
| Requestor<br />
| 45<br />
| 2<br />
| 0<br />
| 579<br />
| 0<br />
|- valign="top"<br />
| Owner<br />
| 0<br />
| 0<br />
| 0<br />
| 49<br />
| 0<br />
|- valign="top"<br />
| Cc<br />
| 0<br />
| 0<br />
| 0<br />
| 0<br />
| 0<br />
|}<br />
<br />
| [[AdminCc]] | 0 | 0 | 0 | 1 | 0 |<br />
<br />
Put this into html/Elements/[[WatcherSummary]]:<br />
<br />
&lt;table border="0" cellspacing="0" cellpadding="1" width="100%"&gt;<br />
&lt;tr&gt;<br />
&lt;th class="collection-as-table"&gt;&lt;&amp;|/l&amp;&gt;Type&lt;/&amp;&gt;&lt;/th&gt;<br />
% for my $condition (@$conditions) {<br />
&lt;th class="collection-as-table"&gt;&lt;% $condition-&gt;{name} %&gt;&lt;/th&gt;<br />
% }<br />
&lt;/tr&gt;<br />
% my $i;<br />
% for my $type (@types) {<br />
% $i++;<br />
% my $type_cond = "$type.Id = ".$UserObj-&gt;Id;<br />
% my $all_q = $type_cond;<br />
&lt;tr class="&lt;% $i%2 ? 'oddline' : 'evenline'%&gt;" &gt;<br />
&lt;td&gt;&lt;a href="&lt;% $RT::WebPath%&gt;/Search/Results.html?Query=&lt;%$all_q%&gt;"&gt;&lt;%$type%&gt;&lt;/a&gt;&lt;/td&gt;<br />
% for my $condition (@$conditions) {<br />
% my $Tickets = RT::Tickets-&gt;new($session{'CurrentUser'});<br />
% $Tickets-&gt;FromSQL($type_cond." AND ".$condition-&gt;{cond});<br />
&lt;td align="right"&gt;&lt;a href="&lt;% $RT::WebPath%&gt;/Search/Results.html?Query=&lt;%$type_cond." AND ".$condition-&gt;{cond}%&gt;"&gt;&lt;% $Tickets-&gt;Count %&gt;&lt;/a&gt;&lt;/td&gt;<br />
% }<br />
&lt;/tr&gt;<br />
% }<br />
&lt;/table&gt;<br />
&lt;%INIT&gt;<br />
my @types = ('Requestor', 'Owner', 'Cc', 'AdminCc');<br />
&lt;/%INIT&gt;<br />
&lt;%ARGS&gt;<br />
$UserObj =&gt; undef<br />
$conditions =&gt; ()<br />
&lt;/%ARGS&gt;<br />
<br />
<br />
<br />
I like to use it in Admin/Users/Memberships.html, like so:<br />
<br />
--- share/html/Admin/Users/Memberships.html 2006-06-19 15:44:04.000000000 -0700<br />
+++ local/html/Admin/Users/Memberships.html 2006-09-20 16:37:26.000000000 -0700<br />
@@ -54,6 +54,17 @@<br />
<br />
&lt;&amp; /Elements/ShowMemberships, UserObj =&gt; $UserObj &amp;&gt;<br />
<br />
+&lt;&amp;| /Widgets/TitleBox, title =&gt; loc('Watched Tickets'),<br />
+ title_href =&gt; "$RT::WebPath/Search/Results.html?Query=Watcher.Id=".$UserObj-&gt;Id &amp;&gt;<br />
+&lt;&amp; /Elements/WatcherSummary,<br />
+ UserObj =&gt; $UserObj,<br />
+ conditions =&gt; [ {cond =&gt; "Status = 'new'", name =&gt; loc ('new') },<br />
+ {cond =&gt; "Status = 'open'", name =&gt; loc ('open') },<br />
+ {cond =&gt; "Status = 'stalled'", name =&gt; loc ('stalled') },<br />
+ {cond =&gt; "Status = 'resolved'", name =&gt; loc ('resolved') },<br />
+ {cond =&gt; "Status = 'rejected'", name =&gt; loc ('rejected') }] &amp;&gt;<br />
+&lt;/&amp;&gt;<br />
+<br />
&lt;%INIT&gt;<br />
my $UserObj = RT::User-&gt;new($session{'CurrentUser'});<br />
$UserObj-&gt;Load($id) || Abort("Couldn't load user '$id'");</div>
Admin