summaryrefslogtreecommitdiff
path: root/fs_selfservice/FS-SelfService/cgi
diff options
context:
space:
mode:
Diffstat (limited to 'fs_selfservice/FS-SelfService/cgi')
-rw-r--r--fs_selfservice/FS-SelfService/cgi/history.html39
-rw-r--r--fs_selfservice/FS-SelfService/cgi/myaccount_menu.html4
-rwxr-xr-xfs_selfservice/FS-SelfService/cgi/selfservice.cgi6
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'} );