blob: 7bc25da70d5fc57336c0fc3dea61d02223d13def (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
<& /Elements/Header, Title => 'Time to Resolve in Queue' &>
<& /RTx/Statistics/Elements/Tabs, Title => 'Time to Resolve, by ticket in Queue:' . $QueueObj->Name() &>
<form method="POST">
See Queue:<BR>
<& /Elements/SelectQueue, Name=>"queue", Default => "$queue" &>
<BR>
<INPUT TYPE="submit" VALUE="Go!"</INPUT>
</form>
<BR>
% my $url = 'Elements/Chart?x_labels=';
% my $i;
% $url .= join ",", (map {(int($_/2) == $_/2 && (++$i)%2) ? $_/2 : ""} grep {$counts[$_]} 0..($#counts-1)), "longer";
% $url .= '&';
% $url .= "marker_size=1&";
% $url .= "data1=".(join ",", map { $_ || () } @counts)."&";
% chop $url;
<IMG SRC="<% $url %>">
<BR>
<%ARGS>
$queue => $Statistics::TimeToResolveGraphQueue;
</%ARGS>
<%INIT>
use RTx::Statistics;
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);
my $tix = new RT::Tickets($session{'CurrentUser'});
$tix->LimitQueue (VALUE => $queue) if $queue;
$tix->LimitStatus(VALUE => "resolved");
$tix->UnLimit;
if ($tix->Count) {
while (my $t = $tix->RT::SearchBuilder::Next) { # BLOODY HACK
my $when = $t->ResolvedObj->Unix - $t->CreatedObj->Unix;
next unless $when > 0; # Doubly bloody hack
my $max = (60*60*24*2) / 1800;
my $x = int($when / 1800);
$counts[$x > $max ? $max : $x]++;
}
}
</%INIT>
|