summaryrefslogtreecommitdiff
path: root/httemplate/search/svc_acct.cgi
diff options
context:
space:
mode:
authorivan <ivan>2010-02-12 22:42:09 +0000
committerivan <ivan>2010-02-12 22:42:09 +0000
commit5b66c5f19bd7c820f20d964b8b1c0df291603236 (patch)
treebc79bc58fa28b70d5e3bb151ef1bc6eaf297e8cc /httemplate/search/svc_acct.cgi
parent257b3c77eec67a7b12449a93ba545c4b2d458dab (diff)
totals time used on svc_acct report
Diffstat (limited to 'httemplate/search/svc_acct.cgi')
-rwxr-xr-xhttemplate/search/svc_acct.cgi21
1 files changed, 20 insertions, 1 deletions
diff --git a/httemplate/search/svc_acct.cgi b/httemplate/search/svc_acct.cgi
index e2abf5625..74cdb9918 100755
--- a/httemplate/search/svc_acct.cgi
+++ b/httemplate/search/svc_acct.cgi
@@ -10,6 +10,7 @@
'align' => $align,
'color' => \@color,
'style' => \@style,
+ 'footer' => \@footer,
)
%>
<%once>
@@ -73,6 +74,7 @@ my @links = ( $link, $link, $link, $link, $link );
my $align = 'rlllr';
my @color = ( '', '', '', '', '' );
my @style = ( '', '', '', '', '' );
+my @footer = ();
for (qw( domain domsvc agentnum custnum popnum svcpart cust_fields )) {
$search_hash{$_} = $cgi->param($_) if length($cgi->param($_));
@@ -97,16 +99,26 @@ if ( $cgi->param('magic') =~ /^(all|unlinked)$/ ) {
}
if ( $sortby eq 'seconds' ) {
+ my $tot_time = 0;
#push @header, 'Time remaining';
push @header, 'Time';
- push @fields, sub { my $svc_acct = shift; format_time($svc_acct->seconds) };
+ push @fields, sub { my $svc_acct = shift;
+ $tot_time += $svc_acct->seconds;
+ format_time($svc_acct->seconds);
+ };
push @links, '';
$align .= 'r';
push @color, '';
push @style, '';
+ @footer = ( '', 'Total', '', '', '',
+ sub { format_time($tot_time) }, #time
+ );
+
my $conf = new FS::Conf;
if ( $conf->exists('svc_acct-display_paid_time_remaining') ) {
+ my $tot_paid_time = 0;
+ my %tot = ( '30'=>0, '60'=>0, '90'=>0 );
push @header, 'Paid time', 'Last 30', 'Last 60', 'Last 90';
push @fields,
sub {
@@ -130,6 +142,7 @@ if ( $cgi->param('magic') =~ /^(all|unlinked)$/ ) {
my $time_unpaid = $periods_unpaid * $timepermonth;
$time_unpaid *= $part_pkg->freq
if $part_pkg->freq =~ /^\d+$/ && $part_pkg->freq != 0;
+ $tot_paid_time += $seconds-$time_unpaid;
format_time($seconds-$time_unpaid).
sprintf(' (%.2fx monthly)', ( $seconds-$time_unpaid ) / $timepermonth );
},
@@ -141,6 +154,12 @@ if ( $cgi->param('magic') =~ /^(all|unlinked)$/ ) {
$align .= 'rrrr';
push @color, '', '', '', '';
push @style, '', '', '', '';
+ push @footer,
+ sub { format_time($tot_paid_time) }, #paid time
+ '', #XXX sub { $tot{'30'} }, #30
+ '', #XXX sub { $tot{'60'} }, #60
+ '', #XXX sub { $tot{'90'} }, #90
+ ;
}
}