From: Jonathan Prykop Date: Sat, 4 Jul 2015 00:46:00 +0000 (-0500) Subject: RT#34078: Payment History Report / Statement [various fixes, integrated with selfservice] X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=d1f83ecbaefdab8fbb3a05e87448f3351d9051b4 RT#34078: Payment History Report / Statement [various fixes, integrated with selfservice] --- diff --git a/FS/FS/ClientAPI/MasonComponent.pm b/FS/FS/ClientAPI/MasonComponent.pm index 50597e2cb..3c3bf4cb3 100644 --- a/FS/FS/ClientAPI/MasonComponent.pm +++ b/FS/FS/ClientAPI/MasonComponent.pm @@ -14,6 +14,7 @@ $DEBUG = 0; $me = '[FS::ClientAPI::MasonComponent]'; my %allowed_comps = map { $_=>1 } qw( + /elements/customer-statement.html /elements/select-did.html /misc/areacodes.cgi /misc/exchanges.cgi diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index f2c2b4ab4..46df3ffd8 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -4175,7 +4175,7 @@ sub payment_history { 'amount' => sprintf('%.2f', $_->setup + $_->recur ), 'charged' => sprintf('%.2f', $_->setup + $_->recur ), 'date' => $cust_bill->_date, - 'date_pretty' => time2str('%m/%d/%Y', $cust_bill->_date ), + 'date_pretty' => $self->time2str_local('short', $cust_bill->_date ), } foreach $cust_bill->cust_bill_pkg; @@ -4189,7 +4189,7 @@ sub payment_history { 'amount' => sprintf('%.2f', $_->charged ), 'charged' => sprintf('%.2f', $_->charged ), 'date' => $_->_date, - 'date_pretty' => time2str('%m/%d/%Y', $_->_date ), + 'date_pretty' => $self->time2str_local('short', $_->_date ), } foreach $self->cust_bill; @@ -4201,7 +4201,7 @@ sub payment_history { 'amount' => sprintf('%.2f', 0 - $_->paid ), 'paid' => sprintf('%.2f', $_->paid ), 'date' => $_->_date, - 'date_pretty' => time2str('%m/%d/%Y', $_->_date ), + 'date_pretty' => $self->time2str_local('short', $_->_date ), } foreach $self->cust_pay; @@ -4211,7 +4211,7 @@ sub payment_history { 'amount' => sprintf('%.2f', 0 -$_->amount ), 'credit' => sprintf('%.2f', $_->amount ), 'date' => $_->_date, - 'date_pretty' => time2str('%m/%d/%Y', $_->_date ), + 'date_pretty' => $self->time2str_local('short', $_->_date ), } foreach $self->cust_credit; @@ -4221,7 +4221,7 @@ sub payment_history { 'amount' => $_->refund, 'refund' => $_->refund, 'date' => $_->_date, - 'date_pretty' => time2str('%m/%d/%Y', $_->_date ), + 'date_pretty' => $self->time2str_local('short', $_->_date ), } foreach $self->cust_refund; diff --git a/fs_selfservice/FS-SelfService/cgi/history.html b/fs_selfservice/FS-SelfService/cgi/history.html index 605bc1cf5..0b6f9ceda 100644 --- a/fs_selfservice/FS-SelfService/cgi/history.html +++ b/fs_selfservice/FS-SelfService/cgi/history.html @@ -1,39 +1,14 @@ <%= include('header', 'Payment 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 .= < - $$item{'date_pretty'} - $$item{'description'} - $$item{'amount'} - -EOF - $col = $col eq $col1 ? $col2 : $col1; -} -$balance = sprintf('%.2f',$balance); -$balance =~ s/^(-?)/$1$money_char/; -$out = <Balance: $balance

- - - - - - -$out -
DateDescriptionAmount
-EOF +my $out = mason_comp( + 'session_id' => $session_id, + 'comp' => '/elements/customer-statement.html', + 'args' => [ + 'history' => \@history, + ] +); +$out->{'output'} || $out->{'error'}; %> - - <%= include('footer') %> diff --git a/httemplate/view/cust_main/menu.html b/httemplate/view/cust_main/menu.html index 6e66ea7e6..90a20ed50 100644 --- a/httemplate/view/cust_main/menu.html +++ b/httemplate/view/cust_main/menu.html @@ -197,8 +197,9 @@ my @menu = ( url => sub { my $cust_main = shift; my $agentnum = $cust_main->agentnum; - 'misc/email-customers.html?table=cust_main;search_hash='. - 'agent_virt_agentnum='.$agentnum.";custnum=$custnum"; + 'misc/email-customers.html?table=cust_main;'. + 'agent_virt_agentnum='.$agentnum.";custnum=$custnum;url=". + uri_escape($cgi->self_url); }, condition => sub { $invoicing_list_emailonly }, acl => 'Bulk send customer notices', @@ -487,7 +488,7 @@ my @menu = ( url => sub { my $cust_main = shift; my $agentnum = $cust_main->agentnum; - 'misc/email-customer-statement.html?table=cust_main;search_hash='. + 'misc/email-customer-statement.html?table=cust_main;'. 'agent_virt_agentnum='.$agentnum.";custnum=$custnum;url=". uri_escape($cgi->self_url); },