<& /Elements/Header, title => 'Statistics' &>

Average Time-to-resolution for Tickets in <% $QueueObj->Name || "All Queues" %>

% for my $d (0..$#dates) { % my $x = 1; % $tix->LimitStatus(VALUE => "resolved"); %}
Dates Tickets Created On This Day Resolved Time to Resolution
<% $days[(localtime($dates[$d]->Unix))[6]]." ". (localtime($dates[$d]->Unix))[3]%> % my $tix = new RT::Tickets($session{'CurrentUser'}); % $tix->LimitCreated(VALUE => $dates[$d]->ISO, OPERATOR => ">="); % if ($dates[$d+1]) { % $tix->LimitCreated(VALUE => $dates[$d+1]->ISO, OPERATOR => "<="); % } % if ($queue) { % $tix->LimitQueue (VALUE => $queue); % } <% $tix->Count %> <% $tix->Count %> % if ($tix->Count) { % my @tix = @{$tix->ItemsArrayRef}; % my $total; % $total += ($_->ResolvedObj->Unix - $_->CreatedObj->Unix) for @tix; % my $average = int ($total / @tix); <& DurationAsString, Duration => $average &> % $data[$x++][$d] = $average; % } else { N/A % }
See Queue:
<& /Elements/SelectQueue, Name=>"queue", ShowNullOption=>1 &>
Items to see:

% my $url = $RT::WebURL.'/chart?type=lines&x_labels=['; % $url .= join ",", @{ shift @data }; % $url .= ']&'; % $url .= 'y_number_format=&'; % for (0..$#data) { % $url .= "data".(1+$_)."=[".(join ",", @{$data[$_]})."]&"; % } % chop $url;
<%ARGS> $max => 5 $queue => "advisory" <%INIT> my @days = qw(Sun Mon Tue Wed Thu Fri Sat); my $n = 0; my @data = ([]); my @dates; my @msgs; $max--; my $QueueObj = new RT::Queue($session{'CurrentUser'}); $QueueObj->Load($queue); until ($#dates == $max) { my $date = new RT::Date($session{CurrentUser}); $date->Set(Value=>time - $n, Format => 'unix'); $date->SetToMidnight; my $when = $days[(localtime($date->SetToMidnight))[6]]; $n+= 60*60*24; unshift @dates, $date; unshift @{ $data[0] }, $days[(localtime($date->Unix))[6]]."%20". (localtime($date->Unix))[3]; }