diff options
Diffstat (limited to 'rt/share/html/RTx/Statistics/OpenStalled/Results.tsv')
-rw-r--r-- | rt/share/html/RTx/Statistics/OpenStalled/Results.tsv | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/rt/share/html/RTx/Statistics/OpenStalled/Results.tsv b/rt/share/html/RTx/Statistics/OpenStalled/Results.tsv new file mode 100644 index 000000000..2ec1e0c4a --- /dev/null +++ b/rt/share/html/RTx/Statistics/OpenStalled/Results.tsv @@ -0,0 +1,114 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2005 Best Practical Solutions, LLC +%# <jesse@bestpractical.com> +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +<%ARGS> +@queues => @Statistics::OpenStalledQueueList +</%ARGS> + +<%INIT> +use RTx::Statistics; +use Time::Local; + + my $n = 0; + my @data; + my @msgs; + my %totals; + my $QueryString; + my $now = new RT::Date($session{CurrentUser}); + my $tix = new RT::Tickets($session{'CurrentUser'}); + + my %queues = map { + $_ => 1; + } (@queues); + + # set content type + $r->content_type('application/vnd.ms-excel'); + + $QueryString = "queues=" . join("&queues=", @queues); + + my $queue = new RT::Queues($session{CurrentUser}); + $queue->UnLimit; + + my $QueueObj = new RT::Queue($session{'CurrentUser'}); + $QueueObj->Load($queue); + + # Put out some data about the generation of this file + $m->out("Tickets by Status by Queue for Queues:\t" . join(',', @queues) . "\tGenerated at:\t" . Statistics::FormatDate("%x %X", $now). "\n\n"); + + # basically the same as index.html + + # Output header row + $m->out("Status"); + for ( sort keys %queues) { + push @data, $_; + my $Queueobj = new RT::Queue($session{'CurrentUser'}); + $Queueobj->Load($_); + next if !$Queueobj->CurrentUserHasRight('SeeQueue'); + $m->out("\t" . $_); + } + $m->out("\tTotals\n"); + + foreach my $s (qw(new open stalled)) { + $m->out("$s"); + my $total=0; + foreach my $q (sort keys %queues) { + $tix = new RT::Tickets($session{'CurrentUser'}); + $tix->LimitQueue(VALUE => "$q"); + $tix->LimitStatus(VALUE => "$s"); + $totals{$q} += $tix->Count; # Add up columns for each queue + $m->out("\t" . $tix->Count); + $total += $tix->Count; + } + $m->out("\t$total\n"); + $totals{"Totals"} += $total; + } + $m->out("Totals"); + foreach my $q (sort keys %queues) { + $m->out("\t" . $totals{$q}); + } + $m->out("\t" . $totals{"Totals"} . "\n"); + + $m->abort(); +</%INIT> |