diff options
Diffstat (limited to 'rt/html/RTx/Statistics/Resolution/index.html')
-rw-r--r-- | rt/html/RTx/Statistics/Resolution/index.html | 269 |
1 files changed, 0 insertions, 269 deletions
diff --git a/rt/html/RTx/Statistics/Resolution/index.html b/rt/html/RTx/Statistics/Resolution/index.html deleted file mode 100644 index d9885b093..000000000 --- a/rt/html/RTx/Statistics/Resolution/index.html +++ /dev/null @@ -1,269 +0,0 @@ -<& /Elements/Header, Title => 'Time to Resolution' &> -<& /RTx/Statistics/Elements/Tabs, Title => loc("Time To Resolve tickets by Queue for : " .$QueueObj->Name()) &> -<h3>Description</h3> -<p>This page shows details of resolution of tickets in the selected queue. It displays tickets created on each day in your selected date -range. Of those tickets created on that day, how many have been resolved and the total time it has taken for all tickets created on that -day to be resolved.</p> -<p>At the bottom of the chart is shows total time taken to resolve all tickets -in the selected date range and the average time per ticket to -resolve.</p> - -<form method="POST" action="index.html"> - -%my $title = "Time to resolve in " . $QueueObj->Name() . " per day from " . -% Statistics::FormatDate($Statistics::PerDayDateFormat, $dates[0]) . " through " . -% Statistics::FormatDate($Statistics::PerDayDateFormat, $dates[$#dates-1]); -<&|/Elements/TitleBox, - title => $title, - title_href => "/RTx/Statistics/Resolution/index.html?$QueryString" &> -<TABLE BORDER=0 cellspacing=0 cellpadding=1 WIDTH=100%> -% if ($ShowHeader) { -<& /RTx/Statistics/Elements/CollectionAsTable/Header, - Format => \@Format, - FormatString => $Format, - AllowSorting => $AllowSorting, - Order => $Order, - Query => undef, - Rows => $Rows, - Page => $Page, - OrderBy => $OrderBy , - BaseURL => $BaseURL, - maxitems => $maxitems &> -% } -% my $line = 1; -% LINE: for my $d (0..$#dates ) { -% if ($d == $#dates ){ -% next LINE; -% } -% my $x = 1; -% $values{Statistics_Date} = Statistics::FormatDate($Statistics::PerDayDateFormat, $dates[$d]); -% 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); -% } -% $values{Statistics_Created_Count} = $tix->Count; -% $tix->LimitStatus(VALUE => "resolved"); -% $values{Statistics_Resolved_Count} = $tix->Count; -% if ($tix->Count) { -% my @tix = @{$tix->ItemsArrayRef}; -% my $total; -% $total += ($_->ResolvedObj->Unix - $_->CreatedObj->Unix) for @tix; -% $size+= ($#tix +1); -% $grandtotal += $total; -% $values{Duration} = Statistics::DurationAsString($total); -% $data[$x++][$d] = int ($total ); -% } else { -% $values{Duration} = "N/A"; -% } -<& /RTx/Statistics/Elements/CollectionAsTable/Row, Format => \@Format, i => $line, record => $record, maxitems => $maxitems &> -% $line++; -%} -% $size =1 if $size==0; -% $values{text} = "Average time to resolve = " . Statistics::DurationAsString($grandtotal / $size); -<& /RTx/Statistics/Elements/CollectionAsTable/Row, Format => \@OneCellFormat, i => $line, record => $record, maxitems => $maxitems &> -% $line++; -% $values{text} = "Total time to resolve = " . Statistics::DurationAsString( $grandtotal ); -<& /RTx/Statistics/Elements/CollectionAsTable/Row, Format => \@OneCellFormat, i => $line, record => $record, maxitems => $maxitems &> -% $line++; -</table> -</&> - -<hr> - -<BR /> -<BR /> - -<%perl> -# Create the graph URL - -# change the total time to resolve to a floating point number of days -foreach my $dat(@{$data[1]} ){ - $dat = ($dat / $Statistics::secsPerDay); - $dat = sprintf("%0.4f", $dat); -} - -my $url = 'Elements/Chart?x_labels='; -for (0..$diff-1) { - $url .= $data[0][$_] . ","; -} -chop $url; -shift @data; -$url .= "&data1="; -for(0..$diff-1) { - $data[0][$_] = 0 if !$data[0][$_]; - $url .= $data[0][$_] . ","; -} -</%perl> - -<& /RTx/Statistics/Elements/GraphBox, GraphURL => $url &> - -<& /RTx/Statistics/Elements/ControlsAsTable/ControlBox, - Title => "Change Queue or Dates", - ShowDates => 1, sMonth => \$sMonth, sDay => \$sDay, sYear => \$sYear, - eMonth => \$eMonth, eDay => \$eDay, eYear => \$eYear, - weekends => $weekends, - ShowSingleQueue => 1, Queue => $Queue - &> - -</form> - -<%ARGS> -$max => $Statistics::TimeToResolveMaxRows -$Queue => undef -$weekends =>$Statistics::TimeToResolveWeekends -$sMonth=>undef -$sDay=>undef -$sYear=>undef -$eMonth=>undef -$eDay=>undef -$eYear=>undef -$days=>undef -$currentMonth=>undef - -$AllowSorting => undef -$Order => undef -$OrderBy => undef -$ShowNavigation => 1 -$ShowHeader => 1 -$Rows => 50 -$Page => 1 -$BaseURL => undef -</%ARGS> - -<%INIT> -use RTx::Statistics; -use Time::Local; -my $n = 0; -my @data = ([]); -my @dates; -my @msgs; -my $size; -my $selected; -my $grandtotal = 0; -my $diff; -my $sEpoch=0; -my $eEpoch=0; -my $QueryString; - -my $maxitems = 4; -my %record; -my %values; -my $record = \%record; - -$record{values} = \%values; - - -# If debugging, set things up and display all the args -Statistics::DebugClear(); -Statistics::DebugLog("CallsQueueDay/index.html ARGS:\n"); -for my $key (keys %ARGS) { - Statistics::DebugLog("ARG{ $key }=" . $ARGS{$key} . "\n"); -} - -my $Format = qq{ Statistics_Date, - '__Statistics_Created_Count__/STYLE:text-align:right;', - '__Statistics_Resolved_Count__/STYLE:text-align:right;', - '__Statistics_Dynamic__/KEY:Duration/TITLE:Time To Resolve/STYLE:text-align:right;' }; -my $BoldFormat = qq{ '<B>__Statistics_Date__</B>', - '<B>__Statistics_Created_Count__</B>/STYLE:text-align:right;', - '<B>__Statistics_Resolved_Count__</B>/STYLE:text-align:right;', - '<B>__Statistics_Dynamic__</B>/KEY:Duration/TITLE:Time To Resolve/STYLE:text-align:right;' }; - -# TODO need way to make this cell do colspan -my $OneCellFormat = qq{ '<B>__Statistics_Dynamic__</B>/KEY:text/STYLE:text-align:left;','','','' }; - -my (@Format) = $m->comp('/RTx/Statistics/Elements/CollectionAsTable/ParseFormat', Format => $Format); -my (@BoldFormat) = $m->comp('/RTx/Statistics/Elements/CollectionAsTable/ParseFormat', Format => $BoldFormat); -my (@OneCellFormat) = $m->comp('/RTx/Statistics/Elements/CollectionAsTable/ParseFormat', Format => $OneCellFormat); - -Statistics::DebugLog("CallsQueueDay/index.html Format array=" . join(',', @Format) . "\n"); - -if ($sDay > $Statistics::monthsMaxDay{$sMonth}) { - $sDay = $Statistics::monthsMaxDay{$sMonth}; -} - -if ($eDay > $Statistics::monthsMaxDay{$eMonth}) { - $eDay = $Statistics::monthsMaxDay{$eMonth}; -} - -if ($sYear){ - $sEpoch = timelocal(0, 0, 0, $sDay, $sMonth, $sYear-1900); -} -if ($eYear){ -Statistics::DebugLog("eMonth = " . $eMonth . "\n"); - $eEpoch = timelocal(0, 0, 0, $eDay, $eMonth, $eYear-1900); -} else { - # This case happens when the page is first loaded - my @local = localtime(time); - ($eDay, $eMonth, $eYear) = ($local[3], $local[4], $local[5]); - $eYear += 1900; - $eEpoch = timelocal(0, 0, 0, $local[3], $local[4], $local[5], $local[6], $local[7], $local[8]); -Statistics::DebugLog("Setting eEpoch=$eEpoch from current time.\n"); -} - -if (($eEpoch < $sEpoch) || ($sEpoch == 0)) { - # We have an end, but not a start, or, overlapping. - - # if $currentMonth is set, just set the day to 1 - if($currentMonth) { - # set start vars from end, but with day set to 1 - (undef, undef, undef, $sDay, $sMonth, $sYear) = localtime($eEpoch); - $sDay=1; - $sEpoch = timelocal(0, 0, 0, $sDay, $sMonth, $sYear); - } else { - # If the user has specified how many days back to go, use that, - # If not, set start to configured default period before end - if(defined $days) { - $sEpoch = $eEpoch - ($days * $Statistics::secsPerDay); - } else { - $sEpoch = $eEpoch - ($Statistics::PerDayPeriod * $Statistics::secsPerDay); - } - (undef, undef, undef, $sDay, $sMonth, $sYear) = localtime($sEpoch); - } - $sYear += 1900; -} - -# Compute days to chart. -# The +1 is because we need to generate one more date. If the user -# selected a 10 day range, we need to generate 11 days. -$diff = int(($eEpoch - $sEpoch + $Statistics::secsPerDay - 1) / $Statistics::secsPerDay)+1; -Statistics::DebugLog("Setting diff=$diff\n"); - -Statistics::DebugLog("sEpoch=$sEpoch, components=" . join(',', localtime($sEpoch)) . "\n"); -Statistics::DebugLog("eEpoch=$eEpoch, components=" . join(',', localtime($eEpoch)) . "\n"); - -my $QueueObj = new RT::Queue($session{'CurrentUser'}); -if (!defined $Queue) { - $QueueObj->Load($Statistics::TimeToResolveQueue); - $Queue = $QueueObj->Id(); -} - -# Set up the string for the current query for bookmarkable link -$QueryString = "sDay=$sDay&sMonth=$sMonth&sYear=$sYear&eDay=$eDay&eMonth=$eMonth&eYear=$eYear&weekends=$weekends&Queue=$Queue"; - -# Set up the end date to be midnight(morning) of the date after the one the user wanted. -my $endRange = $eEpoch + $Statistics::secsPerDay; -$QueueObj->Load($Queue); -# NOTE: list loop starts at the end of the date range, unshifting dates onto -# the arrays, so that they end up in start to finish order. -$eEpoch += $Statistics::secsPerDay; -$n = 0; -until ($#dates == $diff ) { - my $date = new RT::Date($session{CurrentUser}); - $date->Set(Value=>$endRange - $n, Format => 'unix'); - # Note: we used to adjust the time to local midnight, but - # none of the other date entry fields in RT seem to adjust, so we've stopped. - #Statistics::DebugLog("Before adjust to midnight date " . Statistics::FormatDate("%c", $date) . "\n"); - $n+= $Statistics::secsPerDay; - # If we aren't showing weekends and this is one, decrement the number - # of days to show and skip to the next date. - if(!$weekends and Statistics::RTDateIsWeekend($date)) {$diff--; next;} - unshift @dates, $date; -Statistics::DebugLog("pushing date " . Statistics::FormatDate("%c", $date) . "\n"); - unshift @{ $data[0] }, Statistics::FormatDate($Statistics::PerDayLabelDateFormat, $date); -} -</%INIT> |