[Rt-commit] r4589 - in RT-Extension-ActivityReports: . html/Reports/Activity

alexmv at bestpractical.com alexmv at bestpractical.com
Mon Feb 27 15:07:00 EST 2006


Author: alexmv
Date: Mon Feb 27 15:06:59 2006
New Revision: 4589

Modified:
   RT-Extension-ActivityReports/   (props changed)
   RT-Extension-ActivityReports/html/Callbacks/ActivityReports/NoAuth/webrt.css/Default
   RT-Extension-ActivityReports/html/Reports/Activity/WorkedStatistics.html

Log:
 r9343 at zoq-fot-pik:  chmrr | 2006-02-27 15:06:17 -0500
  * Improve formatting slightly
  * Include minigraphs, list of open tickets, totals


Modified: RT-Extension-ActivityReports/html/Callbacks/ActivityReports/NoAuth/webrt.css/Default
==============================================================================
--- RT-Extension-ActivityReports/html/Callbacks/ActivityReports/NoAuth/webrt.css/Default	(original)
+++ RT-Extension-ActivityReports/html/Callbacks/ActivityReports/NoAuth/webrt.css/Default	Mon Feb 27 15:06:59 2006
@@ -42,30 +42,29 @@
 .graph .c6 { border: 2px solid #990099; background: #ff00ff; }
 
 tr.titlerow  th { 
-
-  border-bottom: solid black 1px;
-  margin: 0;
- font-size:80%;
-  text-wrap:  none;
-
-}
-
-tr.grandtotal td{
-    border-top: 1px solid black;
+    border-bottom: solid black 1px;
+    margin: 0;
+    font-size:80%;
+    text-wrap:  none;
 }
 
-tr.grandtotal th{
+tr.grandtotal td, tr.grandtotal th{
     border-top: 1px solid black;
 }
 
 th.label { 
- align: left;
-
+    align: left;
 }
 
 table.miniplot th.legend {
- font-style: normal;
- font-size: 80%;
-
+    font-style: normal;
+    font-size: 80%;
 }
 
+table.numberreport {
+    width: 100%;
+}
+table.numberreport td {
+    padding: 0 1em;
+    text-align: right;
+}

Modified: RT-Extension-ActivityReports/html/Reports/Activity/WorkedStatistics.html
==============================================================================
--- RT-Extension-ActivityReports/html/Reports/Activity/WorkedStatistics.html	(original)
+++ RT-Extension-ActivityReports/html/Reports/Activity/WorkedStatistics.html	Mon Feb 27 15:06:59 2006
@@ -2,14 +2,17 @@
     path => "Reports/Activity/WorkedStatistics.html",
     &>
 
-<table style="width: 100%">
+<& Elements/MiniPlot, data => \%plot, minor => ["< 24h","24-48h","> 48h"] &>
+
+<br />
+<table class="numberreport">
 <tr class="titlerow">
-<td>&nbsp;</td>
+<th rowspan="2">Queue</th>
 <th colspan="6">Created in date range</th>
 <th colspan="6">Resolved in date range</th>
+<th rowspan="2">Total tickets still open</th>
+</tr>
 <tr class="titlerow">
-<th>Queue</th>
-
 <th>Total tickets</th>
 <th>Total resolutions</th>
 <th>Resolved within 24h</th>
@@ -23,35 +26,37 @@
 <th>Resolved within 24-48h</th>
 <th>Resolved in more than 48h</th>
 <th>Tickets currently open</th>
-
-<th>Total tickets still open</th>
-
 </tr>
 
+% my @totals; 
 % for my $queue (sort {lc $queue{$a}{name} cmp lc $queue{$b}{name}} keys %queue) {
+% my @row; my $i = 0;
 <tr>
 <th><% $queue{$queue}{name} %></th>
 % for my $bin (qw/created resolved/) {
-% $queue{$queue}{$bin} ||= {tickets => 0, resolves => 0, 24 => 0, 48 => 0, more => 0, open => 0};
-<td><% $queue{$queue}{$bin}{tickets} %></td>
-<td><% $queue{$queue}{$bin}{resolves} %></td>
-<td><% $queue{$queue}{$bin}{24} %></td>
-<td><% $queue{$queue}{$bin}{48} %></td>
-<td><% $queue{$queue}{$bin}{more} %></td>
-<td><% $queue{$queue}{$bin}{open} %></td>
+<td><% $row[$i++] = $queue{$queue}{$bin}{tickets}  || 0%></td>
+<td><% $row[$i++] = $queue{$queue}{$bin}{resolves} || 0%></td>
+<td><% $row[$i++] = $queue{$queue}{$bin}{24} || 0 %></td>
+<td><% $row[$i++] = $queue{$queue}{$bin}{48} || 0 %></td>
+<td><% $row[$i++] = $queue{$queue}{$bin}{more} || 0 %></td>
+<td><% $row[$i++] = $queue{$queue}{$bin}{open} || 0 %></td>
 % }
 
-<td>?</td>
+<td><% $row[$i++] = $queue{$queue}{total_open} %></td>
 </tr>
+% $totals[$_] += $row[$_] for 0..$#row;
+% }
+<tr class="grandtotal">
+<th>Total</th>
+% for (@totals) {
+<td><% $_ %></td>
 % }
-<tr>
-
 </tr>
-
 </table>
 
-<table style="width: 100%">
-<tr>
+<br />
+<table class="numberreport">
+<tr class="titlerow">
 <th>Username</th>
 <th>Queue</th>
 <th>Resolved within 24h</th>
@@ -66,17 +71,30 @@
 <tr>
 <th><% $user %></th>
 <th><% $queue{$queue}{name} %></th>
-<td><% $user{$user}{$queue}{24} %></td>
-<td><% $user{$user}{$queue}{48} %></td>
-<td><% $user{$user}{$queue}{more} %></td>
-<td><% sprintf("%.02f",$user{$user}{$queue}{time}/60) %></td>
-<td><% sprintf("%.02f",$user{$user}{$queue}{time}/(scalar keys %{$user{$user}{$queue}{tickets}})) %></td>
-<td><% sprintf("%.02f",$user{$user}{$queue}{resolves}/($user{$user}{$queue}{time}/60)) %></td>
+<td><% $user{$user}{$queue}{24}   || 0 %></td>
+<td><% $user{$user}{$queue}{48}   || 0 %></td>
+<td><% $user{$user}{$queue}{more} || 0 %></td>
+<td><% sprintf("%.02f",$user{$user}{$queue}{time}/60 || 0) %></td>
+<td><% sprintf("%.02f",$user{$user}{$queue}{time}/(scalar keys %{$user{$user}{$queue}{tickets}}) || 0) %></td>
+<td><% $user{$user}{$queue}{time} ? sprintf("%.02f",$user{$user}{$queue}{resolves}/($user{$user}{$queue}{time}/60) || 0) : "-" %></td>
 </tr>
 % }
 % }
 </table>
 
+<br />
+<h3>Still open tickets created in date range</h3>
+<& /Elements/TicketList, 
+    Query   => qq{ ( Created >= '$start'  AND Created <= '$end' ) AND ( Status = 'new'  OR Status = 'open' ) },
+    OrderBy => $ARGS{OrderBy} || 'Created',
+    Order   => $ARGS{Order} || 'ASC',
+    Format  => q{'   <b><a href="/Ticket/Display.html?id=__id__">__id__</a></b>/TITLE:#','<a href="/Ticket/Display.html?id=__id__">__Subject__</a>/TITLE:Subject','__QueueName__','__Created__'},
+    Rows    => $ARGS{Rows} || 50,
+    Page    => $ARGS{Page} || 1,
+    BaseURL => $RT::WebPath."/Reports/Activity/WorkedStatistics.html?".$m->comp("/Elements/QueryString",start=>$start,end=>$end,query=>$query)."&",
+    AllowSorting => 1,
+&>
+<br />
 
 </&>
 <%args>
@@ -85,17 +103,25 @@
 $end   => "2006/01/01"
 </%args>
 <%init>
-$query = join " AND ", map {"($_)"} grep {/\S/} ($query, "Updated >= '$start' AND Updated <= '$end'");
-
-my(%queue, %user);
-my $tix = RT::Tickets->new($session{'CurrentUser'});
-$tix->FromSQL($query);
+my $allquery = join " AND ", map {"($_)"} grep {/\S/} ($query, "Updated >= '$start' AND Updated <= '$end'");
 
 my $startDate = RT::Date->new($session{'CurrentUser'});
 $startDate->Set(Format => 'unknown', Value => $start);
 my $endDate   = RT::Date->new($session{'CurrentUser'});
 $endDate->Set(Format => 'unknown', Value => $end);
 
+my(%queue, %user);
+my $Queues = RT::Queues->new($session{'CurrentUser'}); 
+$Queues->UnLimit();
+while (my $queue = $Queues->Next) {
+    my $tix = RT::Tickets->new($session{'CurrentUser'});
+    $tix->FromSQL("Queue = '@{[$queue->Name]}' AND (Status = 'open' OR Status = 'new')");
+    $queue{$queue->Id}{name} = $queue->Name;
+    $queue{$queue->Id}{total_open} = $tix->Count();
+}
+
+my $tix = RT::Tickets->new($session{'CurrentUser'});
+$tix->FromSQL($allquery);
 while (my $ticket = $tix->Next) {
     my $created  = $ticket->CreatedObj;
     my $resolved = $ticket->ResolvedObj;
@@ -106,8 +132,6 @@
     my %bins;
     $bins{created} = 1 if $created->Unix > $startDate->Unix and $created->Unix < $endDate->Unix;
 
-    $queue{$ticket->Queue}{name} ||= $ticket->QueueObj->Name;
-
     # Find out when we *first* responded to this ticket
     my $opened = $created;
     my $txns = $ticket->Transactions;
@@ -166,5 +190,12 @@
     }
 }
 
-
+my %plot;
+for (keys %queue) {
+    $plot{$queue{$_}{name}} = {
+        "< 24h"  => $queue{$_}{resolved}{24},
+        "24-48h" => $queue{$_}{resolved}{48},
+        "> 48h"  => $queue{$_}{resolved}{more},
+    };
+}
 </%init>


More information about the Rt-commit mailing list