summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2015-06-26 12:22:42 -0700
committerIvan Kohler <ivan@freeside.biz>2015-06-26 12:22:42 -0700
commit08e201adbad8a476ef5be26b6cfc790fa350143c (patch)
tree1e1b212a7c36ab0314011abb16a6bce7f85e172a
parentf2b32e2c9f07f3f52fa69e3c9364ec968ed11027 (diff)
show regular time in months like paid time
-rwxr-xr-xhttemplate/search/svc_acct.cgi32
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, '';