From 9ed8adbf1ab5aba8181903e9c262f2b69dba6cbc Mon Sep 17 00:00:00 2001 From: ivan Date: Sat, 27 Oct 2007 04:46:05 +0000 Subject: simple payment receipts in web interface, sorry arnie, RT#2738 --- httemplate/view/cust_main/payment_history.html | 6 +- httemplate/view/cust_pay.html | 126 +++++++++++++++++++++++++ 2 files changed, 131 insertions(+), 1 deletion(-) create mode 100644 httemplate/view/cust_pay.html (limited to 'httemplate/view') diff --git a/httemplate/view/cust_main/payment_history.html b/httemplate/view/cust_main/payment_history.html index 099bc4f2b..5af34c09c 100644 --- a/httemplate/view/cust_main/payment_history.html +++ b/httemplate/view/cust_main/payment_history.html @@ -171,6 +171,10 @@ % } % } % +% my $view = qq! (view receipt)!; +% % my $refund = ''; % my $refund_days = $conf->config('card_refund-days') || 120; % if ( $cust_pay->closed !~ /^Y/i @@ -239,7 +243,7 @@ % push @history, { % 'date' => $cust_pay->_date, % 'desc' => $pre. "Payment$post$info$desc". -% "$apply$refund$void$delete$unapply", +% "$view$apply$refund$void$delete$unapply", % 'payment' => $cust_pay->paid, % 'target' => $target, % }; diff --git a/httemplate/view/cust_pay.html b/httemplate/view/cust_pay.html new file mode 100644 index 000000000..2d1a22b07 --- /dev/null +++ b/httemplate/view/cust_pay.html @@ -0,0 +1,126 @@ +% if ( $link eq 'popup' ) { + + <% include('/elements/header-popup.html', "Payment Receipt" ) %> + +
Print

+ +% } elsif ( $link eq 'print' ) { + + <% include('/elements/header-popup.html', "Payment Receipt" ) %> + +% } else { + + <% include('/elements/header.html', "Payment Receipt", menubar( + "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum", + 'Print receipt' => $pr_link, + )) + %> + +% } + +% unless ($link eq 'popup' ) { + <% include('/elements/small_custview.html', + $custnum, + scalar($conf->config('countrydefault')), + 1, #no balance + ) + %> +

+% } + +<% ntable("#cccccc", 2) %> + + + Payment# + <% $cust_pay->paynum %> + + + + Date + <% time2str"%a %b %o, %Y %r", $cust_pay->_date %> + + + + Amount + <% $money_char. $cust_pay->paid %> + + + + Payment method + <% $cust_pay->payby_name %> #<% $cust_pay->paymask %> + + +% if ( $cust_pay->payby =~ /^(CARD|CHEK|LECB)$/ && $cust_pay->paybatch ) { + + + Processor + <% $cust_pay->processor %> + + + + Authorization# + <% $cust_pay->authorization %> + + +% if ( $cust_pay->order_number ) { + + Order# + <% $cust_pay->order_number %> + +% } + +% } + + + +% if ( $link eq 'print' ) { + + + +% } + +% if ( $link =~ /^(popup|print)$/ ) { + + +% } else { + <% include('/elements/footer.html') %> +% } + +<%init> + +my $curuser = $FS::CurrentUser::CurrentUser; + +die "access denied" + unless $curuser->access_right('View invoices') #remove this in 1.9 + || $curuser->access_right('View customer payments'); + +$cgi->param('paynum') =~ /^(\d+)$/ or die "no paynum"; +my $paynum = $1; + +my $link = ''; +if ( $cgi->param('link') =~ /^(\w+)$/ ) { + $link = $1; +} + +my $cust_pay = qsearchs({ + 'select' => 'cust_pay.*', + 'table' => 'cust_pay', + 'addl_from' => 'LEFT JOIN cust_main USING ( custnum )', + 'hashref' => { 'paynum' => $paynum }, + 'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql, +}); +die "Payment #$paynum not found!" unless $cust_pay; + +my $pr_link = "${p}view/cust_pay.html?link=print;paynum=$paynum"; + +my $custnum = $cust_pay->custnum; + +my $conf = new FS::Conf; + +my $money_char = $conf->config('money_char') || '$'; + +tie my %payby, 'Tie::IxHash', FS::payby->payby2longname; + + -- cgit v1.2.1