From f5af4fcceb8a36c3d0885dfa197798a77de64727 Mon Sep 17 00:00:00 2001 From: ivan Date: Wed, 20 Jun 2007 22:28:28 +0000 Subject: integrate RTx::Statistics package, part of merging spiritone RT changes (#1661) --- rt/html/Reports/Activity/Elements/LimitReport | 23 +++++++++++ rt/html/Reports/Activity/Elements/MiniPlot | 57 ++++++++++++++++++++++++++ rt/html/Reports/Activity/Elements/PrintFooter | 7 ++++ rt/html/Reports/Activity/Elements/PrintHeader | 32 +++++++++++++++ rt/html/Reports/Activity/Elements/ScreenFooter | 13 ++++++ rt/html/Reports/Activity/Elements/ScreenHeader | 8 ++++ rt/html/Reports/Activity/Elements/Tabs | 52 +++++++++++++++++++++++ rt/html/Reports/Activity/Elements/Wrapper | 16 ++++++++ 8 files changed, 208 insertions(+) create mode 100644 rt/html/Reports/Activity/Elements/LimitReport create mode 100644 rt/html/Reports/Activity/Elements/MiniPlot create mode 100644 rt/html/Reports/Activity/Elements/PrintFooter create mode 100644 rt/html/Reports/Activity/Elements/PrintHeader create mode 100644 rt/html/Reports/Activity/Elements/ScreenFooter create mode 100644 rt/html/Reports/Activity/Elements/ScreenHeader create mode 100644 rt/html/Reports/Activity/Elements/Tabs create mode 100644 rt/html/Reports/Activity/Elements/Wrapper (limited to 'rt/html/Reports/Activity/Elements') diff --git a/rt/html/Reports/Activity/Elements/LimitReport b/rt/html/Reports/Activity/Elements/LimitReport new file mode 100644 index 000000000..7c4aac73b --- /dev/null +++ b/rt/html/Reports/Activity/Elements/LimitReport @@ -0,0 +1,23 @@ +
+Query: +
+ +Report type:
+ +Start date:
+End date:
+<& /Elements/Submit, Label => loc('Report') &> +
+<%args> +$type => undef +$start => undef +$end => undef +$query => undef + +<%init> + diff --git a/rt/html/Reports/Activity/Elements/MiniPlot b/rt/html/Reports/Activity/Elements/MiniPlot new file mode 100644 index 000000000..f92032818 --- /dev/null +++ b/rt/html/Reports/Activity/Elements/MiniPlot @@ -0,0 +1,57 @@ + +% for my $major (@major) { + +% } + +% for my $major (@major) { + +% } + +
+
    +% my $i = 0; +% for my $minor (@minor) { +% my $percent = int( 100 * ($data->{$major}{$minor} || 0) / $max ); +
  • <% $minor %>: <% $percent %>%
  • +% $i++; +% } +
+
<% $major %>
+ + +% my $i = 0; +% for my $minor (@minor) { + +% } + +
<% $minor %>
+ +<%args> +$data +$major => undef +$minor => undef + +<%init> + +my $max = 1; + +my %minor; +for my $major (keys %{$data}) { + for (keys %{$data->{$major}}) { + $minor{$_}++; + $max = $data->{$major}{$_} if $data->{$major}{$_} > $max; + } +} + +my @major = $major ? @{$major} : sort keys %{$data}; +my @minor = $minor ? @{$minor} : sort keys %minor; + +return unless @minor and @major; + +my $each = int( (100 / @minor) ); +my $barwidth = int( (100 / @minor) * (3/4) ); +my $baroffset = int( (100 / @minor) * (1/8) ); + + diff --git a/rt/html/Reports/Activity/Elements/PrintFooter b/rt/html/Reports/Activity/Elements/PrintFooter new file mode 100644 index 000000000..fa9f47582 --- /dev/null +++ b/rt/html/Reports/Activity/Elements/PrintFooter @@ -0,0 +1,7 @@ +
+
+<%$RT::ReportFooterMessage || 'Proprietary and Confidential' %> +
+ + +%$m->abort(); diff --git a/rt/html/Reports/Activity/Elements/PrintHeader b/rt/html/Reports/Activity/Elements/PrintHeader new file mode 100644 index 000000000..b7c4b3419 --- /dev/null +++ b/rt/html/Reports/Activity/Elements/PrintHeader @@ -0,0 +1,32 @@ +<%args> +$title => undef +$path => undef +$query => undef + + + +<%$title%> + + + +%# XXX TODO THIS SHOULD NOT BE A TABLE + + + + + + + +
+
User: <%$session{'CurrentUser'}->Name%>
+
+%my $d= RT::Date->new($session{'CurrentUser'}); $d->SetToNow; +<%$d->AsString%>
+
+

<%$title%>

+
+RT Logo +
+
+<&|/l&>Report criteria: <%$query%> +
diff --git a/rt/html/Reports/Activity/Elements/ScreenFooter b/rt/html/Reports/Activity/Elements/ScreenFooter new file mode 100644 index 000000000..235b7b306 --- /dev/null +++ b/rt/html/Reports/Activity/Elements/ScreenFooter @@ -0,0 +1,13 @@ +<& LimitReport, %ARGS &> +% if ($show_print_link) { +
+% my %printable_args = %ARGS; +% delete $printable_args{$_} for (qw/path title mode/); +% $printable_args{'mode'} = 'print'; +% my $url = $ARGS{'path'} .'?'. join(';', map { $_."=".$printable_args{$_} } keys %printable_args); +<&|/l&>Printable version +
+% } +<%args> +$show_print_link => 1 + diff --git a/rt/html/Reports/Activity/Elements/ScreenHeader b/rt/html/Reports/Activity/Elements/ScreenHeader new file mode 100644 index 000000000..080efc0dd --- /dev/null +++ b/rt/html/Reports/Activity/Elements/ScreenHeader @@ -0,0 +1,8 @@ +<%args> +$title => undef +$path => undef + +<& /Elements/Header, Title => $title &> +<& Tabs, + current_subtab => $path, + Title => $title &> diff --git a/rt/html/Reports/Activity/Elements/Tabs b/rt/html/Reports/Activity/Elements/Tabs new file mode 100644 index 000000000..a9498209e --- /dev/null +++ b/rt/html/Reports/Activity/Elements/Tabs @@ -0,0 +1,52 @@ +<& /Elements/Tabs, + tabs => $tabs, + subtabs => $subtabs, + current_toptab => 'Tools/Offline.html', + current_tab => 'Reports/Activity/index.html'.$args, + Title => $Title &> + +<%INIT> +my $subtabs = {}; + +my $top = $m->caller_args(-1); +my $args = "?" . $m->comp( '/Elements/QueryString', + query => $top->{query}, + start => $top->{start}, + end => $top->{end}); +if ($m->caller_args(-1)->{'query'}) { + $current_subtab .= $args; + $subtabs = { + a => { title => 'Activity detail', + path => 'Reports/Activity/ActivityDetail.html'.$args, + }, + b => { title => 'Activity summary', + path => 'Reports/Activity/ActivitySummary.html'.$args, + }, + c => { title => 'Resolution comments', + path => 'Reports/Activity/ResolutionComments.html'.$args, + }, + d => { title => 'Resolution statistics', + path => 'Reports/Activity/ResolutionStatistics.html'.$args, + }, + }; +} + +my $tabs = { + a => { title => loc('Offline'), + path => 'Tools/Offline.html', + }, + r => { title => loc('Reports'), + path => 'Reports/Activity/index.html'.$args, + subtabs => $subtabs, + current_subtab => $current_subtab, + } + }; + + + + +<%ARGS> +$current_tab => undef +$current_subtab => undef +$Title => undef + diff --git a/rt/html/Reports/Activity/Elements/Wrapper b/rt/html/Reports/Activity/Elements/Wrapper new file mode 100644 index 000000000..6f81f5f50 --- /dev/null +++ b/rt/html/Reports/Activity/Elements/Wrapper @@ -0,0 +1,16 @@ +<%args> +$mode => 'screen' + + +% if ($mode eq 'print') { +<& PrintHeader, %ARGS &> +%} else { +<& ScreenHeader, %ARGS &> +% } +<%$m->content |n%> +% if ($mode eq 'print') { +<& PrintFooter, %ARGS &> +%} else { +<& ScreenFooter, %ARGS &> +% } + -- cgit v1.2.1