& /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&>
<%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';
%perl>
<%ARGS>
$queue => $Statistics::DayOfWeekQueue
%ARGS>
<%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}++
}
}
%INIT>