diff options
Diffstat (limited to 'fs_selfservice/FS-SelfService/cgi')
-rw-r--r-- | fs_selfservice/FS-SelfService/cgi/history.html | 39 | ||||
-rw-r--r-- | fs_selfservice/FS-SelfService/cgi/myaccount_menu.html | 4 | ||||
-rwxr-xr-x | fs_selfservice/FS-SelfService/cgi/selfservice.cgi | 6 |
3 files changed, 49 insertions, 0 deletions
diff --git a/fs_selfservice/FS-SelfService/cgi/history.html b/fs_selfservice/FS-SelfService/cgi/history.html new file mode 100644 index 000000000..00fdfa5ef --- /dev/null +++ b/fs_selfservice/FS-SelfService/cgi/history.html @@ -0,0 +1,39 @@ +<%= include('header', 'Billing History') %> + +<%= +my $balance = 0; +my $style = 'text-align: left; margin: 0; padding: 0 1em 0 0;'; +my $moneystyle = 'text-align: right; margin: 0; padding: 0 1em 0 0;'; +my $col1 = "#ffffff"; +my $col2 = "#dddddd"; +my $col = $col1; +foreach my $item (@history) { + $balance += $$item{'amount'}; + $$item{'amount'} =~ s/^(-?)/$1$money_char/; + $out .= <<EOF; + <TR> + <TD style="$style background: $col;">$$item{'date_pretty'}</TD> + <TD style="$style background: $col;">$$item{'description'}</TD> + <TD style="$moneystyle background: $col;">$$item{'amount'}</TD> + </TR> +EOF + $col = $col eq $col1 ? $col2 : $col1; +} +$balance = sprintf('%.2f',$balance); +$balance =~ s/^(-?)/$1$money_char/; +$out = <<EOF; +<P>Balance: <B>$balance</B></P> +<TABLE style="margin: 0;" CELLSPACING="0"> + <TR> + <TH style="$style background: #ff9999;">Date</TH> + <TH style="$style background: #ff9999;">Description</TH> + <TH style="$moneystyle background: #ff9999;">Amount</TH> + </TR> +$out +</TABLE> +EOF +%> + +</TABLE> + +<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/myaccount_menu.html b/fs_selfservice/FS-SelfService/cgi/myaccount_menu.html index 999c62da0..6a28d804f 100644 --- a/fs_selfservice/FS-SelfService/cgi/myaccount_menu.html +++ b/fs_selfservice/FS-SelfService/cgi/myaccount_menu.html @@ -66,6 +66,10 @@ if ( ($balance || 0) > 0 ) { #XXXFIXME "enable selfservice prepay features" flag push @menu, { title=>' ' }; +push @menu, + { title=>'View Payment History', url=>'history', size=>'+1' }, +; + unless( $hide_usage ){ push @menu, { title=>'View my usage', url=>'view_usage', size=>'+1', } diff --git a/fs_selfservice/FS-SelfService/cgi/selfservice.cgi b/fs_selfservice/FS-SelfService/cgi/selfservice.cgi index 0e60791ba..4c666cb14 100755 --- a/fs_selfservice/FS-SelfService/cgi/selfservice.cgi +++ b/fs_selfservice/FS-SelfService/cgi/selfservice.cgi @@ -23,6 +23,7 @@ use FS::SelfService qw( mason_comp port_graph start_thirdparty finish_thirdparty reset_passwd check_reset_passwd process_reset_passwd + billing_history ); $template_dir = '.'; @@ -83,6 +84,7 @@ my @actions = ( qw( customer_suspend_pkg process_suspend_pkg switch_cust + history )); my @nologin_actions = (qw( @@ -353,6 +355,10 @@ sub invoices { list_invoices( 'session_id' => $session_id, ); } +sub history { + billing_history( 'session_id' => $session_id, ); +} + sub tktcreate { my $customer_info = customer_info( 'session_id' => $session_id ); return $customer_info if ( $customer_info->{'error'} ); |