diff options
author | Jonathan Prykop <jonathan@freeside.biz> | 2016-06-09 23:50:43 -0500 |
---|---|---|
committer | Jonathan Prykop <jonathan@freeside.biz> | 2016-06-09 23:50:43 -0500 |
commit | c66b912fd7f13f5fb0f2cc433f22b78d3ec5b56b (patch) | |
tree | 9dcb622d38b53e5ec0be0a8c67a707a67570807a | |
parent | 7ff5165def7e86bd475d76e9d7c12e33516311e4 (diff) |
RT#42297: Show total usage on Selfservice View my usage page
-rw-r--r-- | FS/FS/ClientAPI/MyAccount.pm | 12 | ||||
-rw-r--r-- | fs_selfservice/FS-SelfService/cgi/view_usage.html | 12 |
2 files changed, 24 insertions, 0 deletions
diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm index 986306524..531b2e249 100644 --- a/FS/FS/ClientAPI/MyAccount.pm +++ b/FS/FS/ClientAPI/MyAccount.pm @@ -1835,6 +1835,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; @@ -1868,6 +1869,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' ) { @@ -1942,12 +1947,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 } diff --git a/fs_selfservice/FS-SelfService/cgi/view_usage.html b/fs_selfservice/FS-SelfService/cgi/view_usage.html index 07ccfedf1..2b9eb8bc2 100644 --- a/fs_selfservice/FS-SelfService/cgi/view_usage.html +++ b/fs_selfservice/FS-SelfService/cgi/view_usage.html @@ -75,6 +75,18 @@ $OUT .= '</TR>'; } } + if ((@bytes_svcs > 1) and (grep { $bytes_show{$_.'_used'} } qw(seconds upbytes downbytes totalbytes) )) { + $OUT .= '<TR>'; + $OUT .= '<TH align="left">Total Used</TH>'; + foreach my $field (@bytes_cols) { + if ($bytes_show{$field}) { + $OUT .= '<TD ALIGN="right">'; + $OUT .= $bytes_used_total{$field} || '0' if $field =~ /_used$/; + $OUT .= '</TD>'; + } + } + $OUT .= '</TR>'; + } %> <%= scalar(@bytes_svcs) ? '</TABLE><BR><BR>' : '' %> |