diff options
author | Ivan Kohler <ivan@freeside.biz> | 2015-06-26 12:22:42 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2015-06-26 12:22:42 -0700 |
commit | 08e201adbad8a476ef5be26b6cfc790fa350143c (patch) | |
tree | 1e1b212a7c36ab0314011abb16a6bce7f85e172a | |
parent | f2b32e2c9f07f3f52fa69e3c9364ec968ed11027 (diff) |
show regular time in months like paid time
-rwxr-xr-x | httemplate/search/svc_acct.cgi | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/httemplate/search/svc_acct.cgi b/httemplate/search/svc_acct.cgi index b9e5a7cc9..58764f881 100755 --- a/httemplate/search/svc_acct.cgi +++ b/httemplate/search/svc_acct.cgi @@ -148,10 +148,34 @@ if ( $cgi->param('magic') =~ /^(all|unlinked)$/ ) { if ( $sortby eq 'seconds' ) { my $tot_time = 0; push @header, emt('Time'); - push @fields, sub { my $svc_acct = shift; - $tot_time += $svc_acct->seconds; - format_time($svc_acct->seconds); - }; + + if ( $conf->exists('svc_acct-display_paid_time_remaining') ) { + push @fields, sub { my $svc_acct = shift; + my $seconds = $svc_acct->seconds; + my $cust_pkg = $svc_acct->cust_svc->cust_pkg; + my $part_pkg = $cust_pkg->part_pkg; + + $tot_time += $svc_acct->seconds; + + $timepermonth = $part_pkg->option('seconds'); + $timepermonth = $timepermonth / $part_pkg->freq + if $part_pkg->freq =~ /^\d+$/ && $part_pkg->freq != 0; + my $recur = $part_pkg->base_recur($cust_pkg); + + return format_time($seconds) + unless $timepermonth && $recur; + + format_time($seconds). + sprintf(' (%.2fx monthly)', $seconds / $timepermonth ); + + }; + } else { + push @fields, sub { my $svc_acct = shift; + $tot_time += $svc_acct->seconds; + format_time($svc_acct->seconds); + }; + } + push @links, ''; $align .= 'r'; push @color, ''; |