<& /Elements/Header, Title =>loc('RT Statistics: Calls by Day Of Week in Queue:' . $QueueObj->Name() &> <& /Statistics/Elements/Tabs, Title =>loc('RT Statistics: Calls by Day Of Week in Queue:' . $QueueObj->Name()) &>

<&|/l, $QueueObj->Name&>Number of Tickets Handled in [_1] Per Day

% for my $status (qw(resolved created deleted)) { % for my $d (0..$#days) { % for my $status (qw(resolved created deleted)) { % } % }
<&|/l&>Dates <% loc($status) %> % }
<% loc($days[$d]) %> <% $counts[$d]{$status} %>
<&|/l&>See Queue:
<& /Elements/SelectQueue, Name=>"queue", ShowNullOption=>0 &>

<%perl> my $url = 'Elements/Chart?&x_labels='; for (0..$#days) { $url .= $days[$_] . "," ; } chop $url; $url .= "&"; my @things = qw(resolved created deleted); for my $th (0..$#things) { $url .= "data".(1+$th)."=".(join ",", map { $counts[$_]{$things[$th]} } (0..6))."&"; } chop $url; $url .= '&set_legend=Resolved,Created,Deleted';
<%ARGS> $queue => $Statistics::DayOfWeekQueue <%INIT> use Statistics; use GD::Graph; my @days = qw(Sun Mon Tue Wed Thu Fri Sat); my $n = 0; my @data = ([]); my @msgs; my @counts; my $QueueObj = new RT::Queue($session{'CurrentUser'}); $QueueObj->Load($queue); $RT::Logger->warning("Loaded queue $queue, name=". $QueueObj->Name()); my $tix = new RT::Tickets($session{'CurrentUser'}); $tix->LimitQueue (VALUE => $queue); $tix->UnLimit; if ($tix->Count) { # Initialize the counters to zero, so that all the cells show up foreach my $day (0..@days) { $counts[$day]{resolved} = 0; $counts[$day]{deleted} = 0; $counts[$day]{created} = 0; } while (my $t = $tix->RT::SearchBuilder::Next) { # BLOODY HACK $counts[(localtime($t->ResolvedObj->Unix))[6]]{resolved}++ if $t->Status eq "resolved"; $counts[(localtime($t->LastUpdatedObj->Unix))[6]]{deleted}++ if $t->Status eq "deleted"; $counts[(localtime($t->CreatedObj->Unix))[6]]{created}++ } }