<&|Elements/Wrapper, %ARGS, title => loc("Activity summary"), path => "Reports/Activity/ActivitySummary.html", &> <& Elements/MiniPlot, data => \%queues &> % for my $status (sort keys %status) { % } % for my $queue (sort keys %queues) { % for my $status (sort keys %status) { % } % for my $status (sort keys %status) { % }
Queue<% $status %>Total
<% $queue %><% $queues{$queue}{$status} || 0 %> % } <% $total{$queue} %>
Grand Total<% $status{$status} %><% $total %>
<%args> $query => 'id > 0' $start => "2005/01/01" $end => "2006/01/01" <%init> my $tickets = RT::Tickets->new($session{'CurrentUser'}); $tickets->FromSQL($query . " AND ( Updated >= '$start' AND Updated <= '$end')"); my %queues; my %status; my %total; my $total; while (my $ticket = $tickets->Next) { my $txns = $ticket->Transactions; $txns->Limit(FIELD => 'Created', OPERATOR => '>=', VALUE => $start); $txns->Limit(FIELD => 'Created', OPERATOR => '<=', VALUE => $end); $txns->Limit(FIELD => 'Type', VALUE => 'Status', ENTRYAGGREGATOR => 'OR'); $txns->Limit(FIELD => 'Type', VALUE => 'Create'); while (my $txn = $txns->Next) { $queues{$txn->TicketObj->QueueObj->Name}{$txn->NewValue || 'new'}++; $status{$txn->NewValue || 'new'}++; $total{$txn->TicketObj->QueueObj->Name}++; $total++; } }