[freeside-commits] freeside/rt/share/html/RTx/Statistics/TimeToResolve index.html, NONE, 1.1

Ivan,,, ivan at wavetail.420.am
Sat Dec 4 16:06:30 PST 2010


Update of /home/cvs/cvsroot/freeside/rt/share/html/RTx/Statistics/TimeToResolve
In directory wavetail.420.am:/tmp/cvs-serv26159/RTx/Statistics/TimeToResolve

Added Files:
	index.html 
Log Message:
RTx-Statistics in 2.1 / 3.8

--- NEW FILE: index.html ---
<& /Elements/Header, Title => 'Time to Resolve in Queue' &>
<& /RTx/Statistics/Elements/Tabs,  Title => 'Time to Resolve, by ticket in Queue:' . $QueueObj->Name() &>

<h3>Description</h3>
<p>This page displays the same information as the Time to Resolve chart, but in a scattergraph format and only for the previous 7 calendar
days. It only displays data for tickets which have been resolved. Each division on the Days axis is one day and the granularity of this chart
is 30 minutes.</p>
<form method="POST">

<table>
  <tr>
  <td>Show Queue:</td>
  <td COLSPAN=3><& /Elements/SelectQueue, Name=>"queue", Default=>$queue ,ShowNullOption=>0, 
            CheckQueueRight=>'SeeQueue' &></td>
  </tr>
</table>
<INPUT TYPE="submit" VALUE="Update Page"</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>

%Statistics::DebugInit($m);

<%ARGS>
$queue => undef
</%ARGS>

<%INIT>
use RTx::Statistics;

my @days = qw(Sun Mon Tue Wed Thu Fri Sat);
my $n = 0;
my @data = ([]);
my @msgs;
my @counts;

Statistics::DebugClear();
Statistics::DebugLog("TimeToResolve/index.html ARGS:\n");
for my $key (keys %ARGS) {
  Statistics::DebugLog("ARG{ $key }=" . $ARGS{$key} . "\n");
}

my $QueueObj = new RT::Queue($session{'CurrentUser'});
if (!defined $queue) {
  $QueueObj->Load($Statistics::TimeToResolveGraphQueue);
  $queue = $QueueObj->Id();
} else {
  $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>



More information about the freeside-commits mailing list