summaryrefslogtreecommitdiff
path: root/FS/FS/ClientAPI
diff options
context:
space:
mode:
authorJonathan Prykop <jonathan@freeside.biz>2016-06-09 23:50:43 -0500
committerJonathan Prykop <jonathan@freeside.biz>2016-06-10 00:15:18 -0500
commita9715201a59c1af0b1f1d08e7178d75b6d33872c (patch)
treec23730f20de15d5d4fae3d47e54d02ae1e49a4aa /FS/FS/ClientAPI
parent661eff7b7593ca9a2c39d6838948b96a15d8c0e6 (diff)
RT#42297: Show total usage on Selfservice View my usage page
Diffstat (limited to 'FS/FS/ClientAPI')
-rw-r--r--FS/FS/ClientAPI/MyAccount.pm12
1 files changed, 12 insertions, 0 deletions
diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm
index 9be7cc334..a94127086 100644
--- a/FS/FS/ClientAPI/MyAccount.pm
+++ b/FS/FS/ClientAPI/MyAccount.pm
@@ -1751,6 +1751,7 @@ sub list_svcs {
# @svc_x;
my @svcs; # stuff to return to the client
+ my %bytes_used_total; # for _used columns only
foreach my $cust_svc (@cust_svc) {
my $svc_x = $cust_svc->svc_x;
my($label, $value) = $cust_svc->label;
@@ -1784,6 +1785,10 @@ sub list_svcs {
'downbytes_used' => display_bytecount($down_used),
'totalbytes_used' => display_bytecount($up_used + $down_used)
);
+ $bytes_used_total{'seconds_used'} += $hash{'seconds_used'};
+ $bytes_used_total{'upbytes_used'} += $up_used;
+ $bytes_used_total{'downbytes_used'} += $down_used;
+ $bytes_used_total{'totalbytes_used'} += $up_used + $down_used;
}
if ( $svcdb eq 'svc_acct' ) {
@@ -1858,12 +1863,19 @@ sub list_svcs {
push @svcs, \%hash;
} # foreach $cust_svc
+ foreach my $field (keys %bytes_used_total) {
+ if ($field =~ /bytes/) {
+ $bytes_used_total{$field} = display_bytecount($bytes_used_total{$field});
+ }
+ }
+
return {
'svcnum' => $session->{'svcnum'},
'custnum' => $custnum,
'date_format' => $conf->config('date_format') || '%m/%d/%Y',
'view_usage_nodomain' => $conf->exists('selfservice-view_usage_nodomain'),
'svcs' => \@svcs,
+ 'bytes_used_total' => \%bytes_used_total,
'usage_pools' => [
map { $usage_pools{$_} }
sort { $a cmp $b }