diff options
author | ivan <ivan> | 2007-10-27 04:46:21 +0000 |
---|---|---|
committer | ivan <ivan> | 2007-10-27 04:46:21 +0000 |
commit | a97d99dbd4e56f1b0bf1b0de3ed17e56430add96 (patch) | |
tree | 53ed54b80f7614815b3f3bee675f530175ff6e08 /httemplate/view | |
parent | 2de7369e9d05cb8009d8a8bb9d489a2d315db1d6 (diff) |
simple payment receipts in web interface, sorry arnie, RT#2738
Diffstat (limited to 'httemplate/view')
-rw-r--r-- | httemplate/view/cust_main/payment_history.html | 6 | ||||
-rw-r--r-- | httemplate/view/cust_pay.html | 126 |
2 files changed, 131 insertions, 1 deletions
diff --git a/httemplate/view/cust_main/payment_history.html b/httemplate/view/cust_main/payment_history.html index b2d98cc55..81ccc6d9c 100644 --- a/httemplate/view/cust_main/payment_history.html +++ b/httemplate/view/cust_main/payment_history.html @@ -161,6 +161,10 @@ % } % } % +% my $view = qq! (<A HREF="javascript:void(0);" onClick="overlib( OLiframeContent('${p}view/cust_pay.html?link=popup;paynum=!. +% $cust_pay->paynum. +% qq!', 540, 336, 'view_cust_pay_popup' ), CAPTION, 'Payment Receipt', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, DRAGGABLE, CLOSECLICK ); return false;">view receipt</A>)!; +% % my $refund = ''; % my $refund_days = $conf->config('card_refund-days') || 120; % if ( $cust_pay->closed !~ /^Y/i @@ -229,7 +233,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" ) %> + + <CENTER><A HREF="javascript:self.parent.location = '<% $pr_link %>'">Print</A></CENTER><BR> + +% } 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 + ) + %> + <BR><BR> +% } + +<% ntable("#cccccc", 2) %> + +<TR> + <TD ALIGN="right">Payment#</TD> + <TD BGCOLOR="#FFFFFF"><B><% $cust_pay->paynum %></B></TD> +</TR> + +<TR> + <TD ALIGN="right">Date</TD> + <TD BGCOLOR="#FFFFFF"><B><% time2str"%a %b %o, %Y %r", $cust_pay->_date %></B></TD> +</TR> + +<TR> + <TD ALIGN="right">Amount</TD> + <TD BGCOLOR="#FFFFFF"><B><% $money_char. $cust_pay->paid %></B></TD> +</TR> + +<TR> + <TD ALIGN="right">Payment method</TD> + <TD BGCOLOR="#FFFFFF"><B><% $cust_pay->payby_name %> #<% $cust_pay->paymask %></B></TD> +</TR> + +% if ( $cust_pay->payby =~ /^(CARD|CHEK|LECB)$/ && $cust_pay->paybatch ) { + + <TR> + <TD ALIGN="right">Processor</TD> + <TD BGCOLOR="#FFFFFF"><B><% $cust_pay->processor %></B></TD> + </TR> + + <TR> + <TD ALIGN="right">Authorization#</TD> + <TD BGCOLOR="#FFFFFF"><B><% $cust_pay->authorization %></B></TD> + </TR> + +% if ( $cust_pay->order_number ) { + <TR> + <TD ALIGN="right">Order#</TD> + <TD BGCOLOR="#FFFFFF"><B><% $cust_pay->order_number %></B></TD> + </TR> +% } + +% } + +</TABLE> + +% if ( $link eq 'print' ) { + + <SCRIPT TYPE="text/javascript"> + window.print(); + </SCRIPT> + +% } + +% if ( $link =~ /^(popup|print)$/ ) { + </BODY> + </HTML> +% } 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; + +</%init> |