X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=fs_selfservice%2FFS-SelfService%2Fcgi%2Fview_usage.html;h=2b9eb8bc2c58faf889c7f4adec1efe522f0ef10c;hb=afb1c3d32628a6778c56fd3ff356dfaaa6ac0c58;hp=f50f7707856c712acee4c23e174471c97164d5cf;hpb=3564f619654c5cbf22fc2acbe7eff0c08308e859;p=freeside.git
diff --git a/fs_selfservice/FS-SelfService/cgi/view_usage.html b/fs_selfservice/FS-SelfService/cgi/view_usage.html
index f50f77078..2b9eb8bc2 100644
--- a/fs_selfservice/FS-SelfService/cgi/view_usage.html
+++ b/fs_selfservice/FS-SelfService/cgi/view_usage.html
@@ -1,18 +1,27 @@
<%= $url = "$selfurl?action=";
%by_pkg_label = (); # not used yet, but I'm sure it will be...
- @svc_acct = ();
@svc_phone = ();
@svc_port = ();
-
- foreach (@svcs) {
- $by_pkg_label{ $_->{pkg_label} } ||= [];
- push @{ $by_pkg_label{ $_->{pkg_label} } }, $_;
- if ( $_->{svcdb} eq 'svc_acct' ) {
- push @svc_acct, $_;
- } elsif ( $_->{svcdb} eq 'svc_phone' ) {
- push @svc_phone, $_;
- } elsif ( $_->{svcdb} eq 'svc_port' ) {
- push @svc_port, $_;
+ @svc_pbx = ();
+ @bytes_svcs = (); # contains svc_acct and svc_broadband
+ @bytes_cols = qw(seconds_used seconds upbytes_used upbytes downbytes_used downbytes totalbytes_used totalbytes);
+ %bytes_show = map { $_ => 0 } @bytes_cols;
+
+ foreach my $svc (@svcs) {
+ $by_pkg_label{ $svc->{pkg_label} } ||= [];
+ push @{ $by_pkg_label{ $svc->{pkg_label} } }, $svc;
+
+ if (( $svc->{svcdb} eq 'svc_acct' ) || ( $svc->{svcdb} eq 'svc_broadband' )) {
+ foreach my $field (@bytes_cols) {
+ $bytes_show{$field} = 1 if length($svc->{$field}) or (($field !~ /_used$/) && $svc->{'recharge_'.$field});
+ }
+ push @bytes_svcs, $svc;
+ } elsif ( $svc->{svcdb} eq 'svc_phone' ) {
+ push @svc_phone, $svc;
+ } elsif ( $svc->{svcdb} eq 'svc_port' ) {
+ push @svc_port, $svc;
+ } elsif ( $svc->{svcdb} eq 'svc_pbx' ) {
+ push @svc_pbx, $svc;
}
}
'';
@@ -23,61 +32,69 @@
$OUT .= qq!$error
!;
} ''; %>
-<%= if ( @svc_acct ) {
- $OUT.= '
-
- Account |
- Time remaining |
- Upload remaining |
- Download remaining |
- Total remaining |
-
';
- } else {
- $OUT .= '';
+<%= if ( @bytes_svcs ) {
+ $OUT .= '';
+ $OUT .= 'Account | ';
+ $OUT .= 'Time used | ' if $bytes_show{'seconds_used'};
+ $OUT .= 'Time remaining | ' if $bytes_show{'seconds'};
+ $OUT .= 'Upload used | ' if $bytes_show{'upbytes_used'};
+ $OUT .= 'Upload remaining | ' if $bytes_show{'upbytes'};
+ $OUT .= 'Download used | ' if $bytes_show{'downbytes_used'};
+ $OUT .= 'Download remaining | ' if $bytes_show{'downbytes'};
+ $OUT .= 'Total used | ' if $bytes_show{'totalbytes_used'};
+ $OUT .= 'Total remaining | ' if $bytes_show{'totalbytes'};
+ $OUT .= '
';
}
%>
-<%= foreach my $svc ( @svc_acct ) {
- my $link = "${url}view_usage_details;".
- "svcnum=$svc->{'svcnum'};beginning=0;ending=0";
+<%= foreach my $svc ( @bytes_svcs ) {
+ my $link = "${url}view_usage_details;".
+ "svcnum=$svc->{'svcnum'};beginning=0;ending=0";
my $username = $svc->{'value'};
$username =~ s/@.*?$//g if $view_usage_nodomain;
- $OUT .= '';
- $OUT .= qq!!. $svc->{'label'}. ': '. $username .'';
- $OUT .= ' | ';
- $OUT .= $svc->{'seconds'};
- $OUT .= ' | ';
- $OUT .= $svc->{'upbytes'};
- $OUT .= ' | ';
- $OUT .= $svc->{'downbytes'};
- $OUT .= ' | ';
- $OUT .= $svc->{'totalbytes'};
- $OUT .= ' |
';
+ $OUT .= '';
+ $OUT .= '' . qq!!. $svc->{'label'}. ': '. $username .' | ';
+ foreach my $field (@bytes_cols) {
+ $OUT .= '' . $svc->{$field} . ' | ' if $bytes_show{$field};
+ }
if ( $svc->{'recharge_amount'} ) {
my $link = "${url}process_order_recharge;".
"svcnum=$svc->{'svcnum'}";
- $OUT .= '
';
+ $OUT .= ' |
';
$OUT .= qq!!.'Recharge for $';
$OUT .= $svc->{'recharge_amount'} . ' with';
- $OUT .= ' | ';
- $OUT .= $svc->{'recharge_seconds'} if $svc->{'recharge_seconds'};
- $OUT .= ' | ';
- $OUT .= $svc->{'recharge_upbytes'} if $svc->{'recharge_upbytes'};
- $OUT .= ' | ';
- $OUT .= $svc->{'recharge_downbytes'} if $svc->{'recharge_downbytes'};
- $OUT .= ' | ';
- $OUT .= $svc->{'recharge_totalbytes'} if $svc->{'recharge_totalbytes'};
- $OUT .= ' |
';
+ $OUT .= '';
+ foreach my $field ( qw(seconds upbytes downbytes totalbytes) ) {
+ $OUT .= ' | ' if $bytes_show{$field.'_used'};
+ if ($bytes_show{$field}) {
+ $OUT .= '';
+ $OUT .= $svc->{'recharge_'.$field} if $svc->{'recharge_'.$field};
+ $OUT .= ' | ';
+ }
+ }
+ $OUT .= '';
}
}
+ if ((@bytes_svcs > 1) and (grep { $bytes_show{$_.'_used'} } qw(seconds upbytes downbytes totalbytes) )) {
+ $OUT .= '';
+ $OUT .= 'Total Used | ';
+ foreach my $field (@bytes_cols) {
+ if ($bytes_show{$field}) {
+ $OUT .= '';
+ $OUT .= $bytes_used_total{$field} || '0' if $field =~ /_used$/;
+ $OUT .= ' | ';
+ }
+ }
+ $OUT .= '
';
+ }
%>
-<%= scalar(@svc_acct) ? '
' : '' %>
+<%= scalar(@bytes_svcs) ? '
' : '' %>
-<%= if ( @svc_phone ) {
+<%= if ( @svc_phone or @svc_pbx ) {
%any = ();
for my $dir (qw(outbound inbound)) {
- $any{$dir} = grep { $_->{$dir} } @svc_phone;
+ $any{$dir} = grep { $_->{$dir} } (@svc_phone, @svc_pbx);
}
$OUT.= 'Call usage
@@ -97,21 +114,22 @@
}
%>
-<%= foreach my $svc_phone ( @svc_phone ) {
- my $link = "${url}view_cdr_details;".
- "svcnum=$svc_phone->{'svcnum'};beginning=0;ending=0";
- $OUT .= ''. $svc_phone->{'label'}. ': '. $svc_phone->{'value'};
+<%= foreach my $svc_x ( @svc_phone, @svc_pbx ) {
+ my $link = $url . 'view_cdr_details;' .
+ 'svcnum='.$svc_x->{'svcnum'}.
+ ';beginning=0;ending=0';
+ $OUT .= ' |
'. $svc_x->{'label'}. ': '. $svc_x->{'value'};
$OUT .= ' | ';
# usage summary w/ links
for my $dir (qw(outbound inbound)) {
if ( $dir eq 'inbound' ) {
$link .= ';inbound=1';
}
- if ( $svc_phone->{$dir} ) {
+ if ( $svc_x->{$dir} ) {
$OUT .= ''.qq!! .
sprintf('%d calls (%.0f minutes)',
- $svc_phone->{$dir}->{'count'},
- $svc_phone->{$dir}->{'duration'} / 60
+ $svc_x->{$dir}->{'count'},
+ $svc_x->{$dir}->{'duration'} / 60
) .
' | ';
} elsif ( $any{$dir} ) {
@@ -154,7 +172,7 @@
'* shared among all your phone plans |
';
}
}
-if ( scalar(@svc_phone) or scalar(@usage_pools) ) {
+if ( @svc_phone or @svc_pbx or @usage_pools ) {
$OUT .= '
';
}
'';
@@ -217,3 +235,4 @@ foreach my $svc_port ( @svc_port ) {
<%= include('footer') %>
+