From 09c5b24b88f67409bf8f267d7c42593a3e4bfc7c Mon Sep 17 00:00:00 2001 From: ivan Date: Thu, 5 Nov 2009 22:01:56 +0000 Subject: [PATCH] improvements in time remaining report: correctly account for unpaid time for non-monthly customers, report in hours+minutes intead of using Time::Duration days/hours --- httemplate/search/svc_acct.cgi | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/httemplate/search/svc_acct.cgi b/httemplate/search/svc_acct.cgi index 232439997..7ddb3f000 100755 --- a/httemplate/search/svc_acct.cgi +++ b/httemplate/search/svc_acct.cgi @@ -39,7 +39,8 @@ sub timelast { my $seconds = $sth->fetchrow_arrayref->[0]; - my $return = (($seconds < 0) ? '-' : '') . concise(duration($seconds)); + #my $return = (($seconds < 0) ? '-' : '') . concise(duration($seconds)); + my $return = (($seconds < 0) ? '-' : '') . format_time($seconds); $return .= sprintf(' (%.2fx)', $seconds / $permonth ) if $permonth; @@ -135,8 +136,10 @@ if ( $cgi->param('magic') =~ /^(all|unlinked)$/ ) { return format_time($seconds) unless $timepermonth && $recur; my $balance = $cust_pkg->cust_main->balance; - my $months_unpaid = $balance / $recur; - my $time_unpaid = $months_unpaid * $timepermonth; + my $periods_unpaid = $balance / $recur; + my $time_unpaid = $periods_unpaid * $timepermonth; + $time_unpaid *= $part_pkg->freq + if $part_pkg->freq =~ /^\d+$/ && $part_pkg->freq != 0; format_time($seconds-$time_unpaid). sprintf(' (%.2fx monthly)', ( $seconds-$time_unpaid ) / $timepermonth ); }, -- 2.11.0