diff options
author | ivan <ivan> | 2009-05-18 09:55:30 +0000 |
---|---|---|
committer | ivan <ivan> | 2009-05-18 09:55:30 +0000 |
commit | aab3bdd971c21f6d422b7708ecf8ba7cb5ec0fea (patch) | |
tree | e25121214aa5f9dd12da48d22d88fa18ef55fc4b /fs_selfservice | |
parent | e5ed992c003ce75def88da5f40f0ed2096461348 (diff) |
basic CDR viewing from self-service, RT#4018
Diffstat (limited to 'fs_selfservice')
-rw-r--r-- | fs_selfservice/FS-SelfService/SelfService.pm | 1 | ||||
-rw-r--r-- | fs_selfservice/FS-SelfService/cgi/header.html | 9 | ||||
-rw-r--r-- | fs_selfservice/FS-SelfService/cgi/selfservice.cgi | 16 | ||||
-rw-r--r-- | fs_selfservice/FS-SelfService/cgi/view_cdr_details.html | 54 | ||||
-rw-r--r-- | fs_selfservice/FS-SelfService/cgi/view_usage.html | 68 |
5 files changed, 125 insertions, 23 deletions
diff --git a/fs_selfservice/FS-SelfService/SelfService.pm b/fs_selfservice/FS-SelfService/SelfService.pm index fef211580..47f312ac0 100644 --- a/fs_selfservice/FS-SelfService/SelfService.pm +++ b/fs_selfservice/FS-SelfService/SelfService.pm @@ -45,6 +45,7 @@ $socket .= '.'.$tag if defined $tag && length($tag); 'list_pkgs' => 'MyAccount/list_pkgs', #add to ss (added?) 'list_svcs' => 'MyAccount/list_svcs', #add to ss (added?) 'list_svc_usage' => 'MyAccount/list_svc_usage', + 'list_cdr_usage' => 'MyAccount/list_cdr_usage', 'list_support_usage' => 'MyAccount/list_support_usage', 'order_pkg' => 'MyAccount/order_pkg', #add to ss cgi! 'change_pkg' => 'MyAccount/change_pkg', diff --git a/fs_selfservice/FS-SelfService/cgi/header.html b/fs_selfservice/FS-SelfService/cgi/header.html new file mode 100644 index 000000000..cf8fd2bd9 --- /dev/null +++ b/fs_selfservice/FS-SelfService/cgi/header.html @@ -0,0 +1,9 @@ +<HTML> + <HEAD> + <TITLE>MyAccount</TITLE> + </HEAD> + <BODY BGCOLOR="#eeeeee"> + <FONT SIZE=5>MyAccount</FONT> + <BR><BR> + <%= include('myaccount_menu') %> + <TD VALIGN="top"> diff --git a/fs_selfservice/FS-SelfService/cgi/selfservice.cgi b/fs_selfservice/FS-SelfService/cgi/selfservice.cgi index bb3db12c6..ecf2553a3 100644 --- a/fs_selfservice/FS-SelfService/cgi/selfservice.cgi +++ b/fs_selfservice/FS-SelfService/cgi/selfservice.cgi @@ -15,7 +15,8 @@ use FS::SelfService qw( login_info login customer_info edit_info invoice list_pkgs order_pkg signup_info order_recharge part_svc_info provision_acct provision_external unprovision_svc change_pkg domainselector - list_svcs list_svc_usage list_support_usage + list_svcs + list_svc_usage list_cdr_usage list_support_usage myaccount_passwd ); @@ -72,7 +73,7 @@ $session_id = $cgi->param('session'); #order|pw_list XXX ??? $cgi->param('action') =~ - /^(myaccount|view_invoice|make_payment|make_ach_payment|make_thirdparty_payment|payment_results|ach_payment_results|recharge_prepay|recharge_results|logout|change_bill|change_ship|change_pay|process_change_bill|process_change_ship|process_change_pay|customer_order_pkg|process_order_pkg|customer_change_pkg|process_change_pkg|process_order_recharge|provision|provision_svc|process_svc_acct|process_svc_external|delete_svc|view_usage|view_usage_details|view_support_details|change_password|process_change_password)$/ + /^(myaccount|view_invoice|make_payment|make_ach_payment|make_thirdparty_payment|payment_results|ach_payment_results|recharge_prepay|recharge_results|logout|change_bill|change_ship|change_pay|process_change_bill|process_change_ship|process_change_pay|customer_order_pkg|process_order_pkg|customer_change_pkg|process_change_pkg|process_order_recharge|provision|provision_svc|process_svc_acct|process_svc_external|delete_svc|view_usage|view_usage_details|view_cdr_details|view_support_details|change_password|process_change_password)$/ or die "unknown action ". $cgi->param('action'); my $action = $1; @@ -564,7 +565,7 @@ sub delete_svc { sub view_usage { list_svcs( 'session_id' => $session_id, - 'svcdb' => 'svc_acct', + 'svcdb' => [ 'svc_acct', 'svc_phone' ], 'ncancelled' => 1, ); } @@ -578,6 +579,15 @@ sub view_usage_details { ); } +sub view_cdr_details { + list_cdr_usage( + 'session_id' => $session_id, + 'svcnum' => $cgi->param('svcnum'), + 'beginning' => $cgi->param('beginning') || '', + 'ending' => $cgi->param('ending') || '', + ); +} + sub view_support_details { list_support_usage( 'session_id' => $session_id, diff --git a/fs_selfservice/FS-SelfService/cgi/view_cdr_details.html b/fs_selfservice/FS-SelfService/cgi/view_cdr_details.html new file mode 100644 index 000000000..32bd632b4 --- /dev/null +++ b/fs_selfservice/FS-SelfService/cgi/view_cdr_details.html @@ -0,0 +1,54 @@ +<%= $url = "$selfurl?session=$session_id;action="; ''; %> +<%= include('header') %> + +<FONT SIZE=4>Call usage for +<%= Date::Format::time2str('%b %o %Y', $beginning) %> - +<%= Date::Format::time2str('%b %o %Y', $ending) %> +</FONT><BR><BR> + +<%= if ( $error ) { + $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">$error</FONT><BR><BR>!; +} ''; %> + +<TABLE WIDTH="100%"> + <TR> + <TD WIDTH="50%"> +<%= if ($previous < $beginning) { + $OUT .= qq!<A HREF="${url}view_cdr_details;svcnum=$svcnum;beginning=!; + $OUT .= qq!$previous;ending=$beginning">Previous period</A>!; + }else{ + ''; + } %> + </TD> + <TD WIDTH="50%" ALIGN="right"> +<%= if ($next > $ending) { + $OUT .= qq!<A HREF="${url}view_cdr_details;svcnum=$svcnum;beginning=!; + $OUT .= qq!$ending;ending=$next">Next period</A>!; + }else{ + ''; + }%> + </TD> + </TR> +</TABLE> +<TABLE BGCOLOR="#cccccc"> + <TR> +<%= foreach my $header (@header) { + $OUT .= qq(<TH ALIGN="right">$header</TH>); + } +%> + </TR> +<%= my $total = 0; + my $utotal = 0; + my $dtotal = 0; + foreach my $usage ( @usage ) { + $OUT .= '<TR>'; + $OUT .= qq(<TD>$_</TD>) foreach @{$usage}; + $OUT .= '</TR>'; + } +%> + +</TABLE> +<BR> + +</TD></TR></TABLE> +<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/view_usage.html b/fs_selfservice/FS-SelfService/cgi/view_usage.html index b78f9975b..b492102ce 100644 --- a/fs_selfservice/FS-SelfService/cgi/view_usage.html +++ b/fs_selfservice/FS-SelfService/cgi/view_usage.html @@ -1,24 +1,30 @@ -<HTML><HEAD><TITLE>MyAccount</TITLE></HEAD> -<BODY BGCOLOR="#eeeeee"><FONT SIZE=5>MyAccount</FONT><BR><BR> -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('myaccount_menu') %> -<TD VALIGN="top"> - -<FONT SIZE=4>Service usage</FONT><BR><BR> +<%= $url = "$selfurl?session=$session_id;action="; + @svc_acct = grep { $_->{svcdb} eq 'svc_acct' } @svcs; + @svc_phone = grep { $_->{svcdb} eq 'svc_phone' } @svcs; + ''; +%> +<%= include('header') %> <%= if ( $error ) { $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">$error</FONT><BR><BR>!; } ''; %> -<TABLE BGCOLOR="#cccccc"> - <TR> - <TH ALIGN="left">Account</TH> - <TH ALIGN="right">Time remaining</TH> - <TH ALIGN="right">Upload remaining</TH> - <TH ALIGN="right">Download remaining</TH> - <TH ALIGN="right">Total remaining</TH> - </TR> -<%= foreach my $svc ( @svcs ) { +<%= if ( @svc_acct ) { + $OUT.= '<FONT SIZE="4">Account usage</FONT><BR><BR> + <TABLE BGCOLOR="#cccccc"> + <TR> + <TH ALIGN="left">Account</TH> + <TH ALIGN="right">Time remaining</TH> + <TH ALIGN="right">Upload remaining</TH> + <TH ALIGN="right">Download remaining</TH> + <TH ALIGN="right">Total remaining</TH> + </TR>'; + } else { + $OUT .= ''; + } +%> + +<%= foreach my $svc ( @svc_acct ) { my $link = "${url}view_usage_details;". "svcnum=$svc->{'svcnum'};beginning=0;ending=0"; $OUT .= '<TR><TD>'; @@ -48,11 +54,33 @@ $OUT .= $svc->{'recharge_totalbytes'} if $svc->{'recharge_totalbytes'}; $OUT .= '</TD></TR>'; } - } %> + } +%> -</TABLE> -<BR> +<%= scalar(@svc_acct) ? '</TABLE><BR><BR>' : '' %> -</TD></TR></TABLE> +<%= if ( @svc_phone ) { + $OUT.= '<FONT SIZE="4">Call usage</FONT><BR><BR> + <TABLE BGCOLOR="#cccccc"> + <TR> + <TH ALIGN="left">Number</TH>'; #"Account" ? + #what else? + $OUT .= '</TR>'; + } else { + $OUT .= ''; + } +%> +<%= foreach my $svc_phone ( @svc_phone ) { + my $link = "${url}view_cdr_details;". + "svcnum=$svc_phone->{'svcnum'};beginning=0;ending=0"; + $OUT .= '<TR><TD>'; + $OUT .= qq!<A HREF="$link">!. $svc_phone->{'label'}. ': '. $svc_phone->{'value'}.'</A>'; + $OUT .= '</TD></TR>'; + } +%> + +<%= scalar(@svc_phone) ? '</TABLE><BR><BR>' : '' %> + +</TD></TR></TABLE> <%= include('footer') %> |