[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> </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