X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=fs_selfservice%2FFS-SelfService%2Fcgi%2Fview_usage.html;h=2aa7c1efb8587c8beaa0b6d47acb3c18325362bd;hb=36b23802990dc9220661ce118788893fce71f71d;hp=73ad1e4af4cd829370ca6628d10092689817c696;hpb=6194551336a925ae5455cede68a7f73660b06bb6;p=freeside.git
diff --git a/fs_selfservice/FS-SelfService/cgi/view_usage.html b/fs_selfservice/FS-SelfService/cgi/view_usage.html
index 73ad1e4af..2aa7c1efb 100644
--- a/fs_selfservice/FS-SelfService/cgi/view_usage.html
+++ b/fs_selfservice/FS-SelfService/cgi/view_usage.html
@@ -1,26 +1,49 @@
-
MyAccount
-MyAccount
-<%= $url = "$selfurl?session=$session_id;action="; ''; %>
-<%= include('myaccount_menu') %>
-
+<%= $url = "$selfurl?action=";
+ %by_pkg_label = (); # not used yet, but I'm sure it will be...
+ @svc_acct = ();
+ @svc_phone = ();
+ @svc_port = ();
-Service usage
+ 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, $_;
+ }
+ }
+ '';
+%>
+<%= include('header', 'Account usage') %>
<%= if ( $error ) {
$OUT .= qq!$error
!;
} ''; %>
-
-
- Account |
- Time remaining |
- Upload remaining |
- Download remaining |
- Total remaining |
-
-<%= foreach my $svc ( @svcs ) {
+<%= if ( @svc_acct ) {
+ $OUT.= '
+
+ Account |
+ Time remaining |
+ Upload remaining |
+ Download remaining |
+ Total remaining |
+ ';
+ } else {
+ $OUT .= '';
+ }
+%>
+
+<%= foreach my $svc ( @svc_acct ) {
+ 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 .= $svc->{'label'}. ': '. $svc->{'value'};
+ $OUT .= qq!!. $svc->{'label'}. ': '. $username .'';
$OUT .= ' | ';
$OUT .= $svc->{'seconds'};
$OUT .= ' | ';
@@ -46,12 +69,152 @@
$OUT .= $svc->{'recharge_totalbytes'} if $svc->{'recharge_totalbytes'};
$OUT .= ' | ';
}
- } %>
+ }
+%>
+
+<%= scalar(@svc_acct) ? '
' : '' %>
+
+<%= if ( @svc_phone ) {
+ %any = ();
+ for my $dir (qw(outbound inbound)) {
+ $any{$dir} = grep { $_->{$dir} } @svc_phone;
+ }
+ $OUT.= 'Call usage
+
+
+ Number | ';
+ if ( $any{outbound} ) {
+ $OUT .= '
+ Dialed | ';
+ }
+ if ( $any{inbound} ) {
+ $OUT .= '
+ Received | ';
+ }
+ $OUT .= ' ';
+ } else {
+ $OUT .= '';
+ }
+%>
+
+<%= 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'};
+ $OUT .= ' | ';
+ # usage summary w/ links
+ for my $dir (qw(outbound inbound)) {
+ if ( $dir eq 'inbound' ) {
+ $link .= ';inbound=1';
+ }
+ if ( $svc_phone->{$dir} ) {
+ $OUT .= ''.qq!! .
+ sprintf('%d calls (%.0f minutes)',
+ $svc_phone->{$dir}->{'count'},
+ $svc_phone->{$dir}->{'duration'} / 60
+ ) .
+ ' | ';
+ } elsif ( $any{$dir} ) {
+ $OUT .= ' | ';
+ }
+ }
+ $OUT .= ' ';
+}
+'';
+%>
+
+<%= if ( @usage_pools ) {
+ $OUT .= '
+
+ Remaining minutes |
+ ';
+ my $any_shared = 0;
+ foreach my $usage (@usage_pools) {
+ # false laziness with the back office side
+ my ($description, $remain, $total, $shared) = @$usage;
+ if ( $shared ) {
+ $any_shared = 1;
+ $description .= '*';
+ }
+ my $ratio = 255 * ($remain/$total);
+ $ratio = 255 if $color > 255;
+ my $color =
+ sprintf('STYLE="font-weight: bold; color: #%02x%02x00"',
+ 255 - $ratio, $ratio);
+ $OUT .=
+ qq!
+ $description |
+ $remain |
+ / |
+ $total |
+ !;
+ }
+ if ( $any_shared ) {
+ $OUT .= ''.
+ '* shared among all your phone plans | ';
+ }
+}
+if ( scalar(@svc_phone) or scalar(@usage_pools) ) {
+ $OUT .= '
';
+}
+'';
+%>
+
+<%= if ( @svc_port ) {
+ $OUT.= 'Bandwidth Graphs
+
+
+
+ Service |
+
+ |
+ ';
+ }
+ $OUT .= '';
+%>
+
+<%=
+
+sub preset_range {
+ my($start,$end,$label,$date_format,$prefix) = (shift,shift,shift,shift,shift);
+ $start = Date::Format::time2str($date_format,$start);
+ $end = Date::Format::time2str($date_format,$end);
+ return ''.$label.'';
+}
+
+foreach my $svc_port ( @svc_port ) {
+ $svcnum = $svc_port->{'svcnum'};
+ $default_end = time;
+ $default_start = $default_end-86400;
+
+ $OUT .= ''. $svc_port->{'label'}. ': '. $svc_port->{'value'}.' | ';
+ $OUT .= qq! | ';
+}
+%>
+
+<%= scalar(@svc_port) ? '
' : '' %>
-
-
|
-
-powered by freeside
-
+<%= include('footer') %>
+