diff options
Diffstat (limited to 'httemplate/view/cust_pay.html')
-rw-r--r-- | httemplate/view/cust_pay.html | 162 |
1 files changed, 162 insertions, 0 deletions
diff --git a/httemplate/view/cust_pay.html b/httemplate/view/cust_pay.html new file mode 100644 index 0000000..2f23d9e --- /dev/null +++ b/httemplate/view/cust_pay.html @@ -0,0 +1,162 @@ +% if ( $link eq 'popup' ) { + + <% include('/elements/header-popup.html', "$thing Receipt" ) %> + + <CENTER><A HREF="javascript:self.parent.location = '<% $pr_link %>'">Print</A></CENTER><BR> + +% } elsif ( $link eq 'print' ) { + + <% include('/elements/header-popup.html', "$thing Receipt" ) %> + +% #it would be nice if the menubar could be hidden for print, but better to +% # have it available than not, otherwise the user winds up at a dead end + <% menubar( + "View this customer (#$display_custnum)" => "${p}view/cust_main.cgi?$custnum", + ) + %> + <BR><BR> + +% } else { + + <% include('/elements/header.html', "$thing Receipt", menubar( + "View this customer (#$display_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> + +% if ( $void ) { + + <TR> + <TD ALIGN="right">Void Date</TD> + <TD BGCOLOR="#FFFFFF"><B><% time2str"%a %b %o, %Y %r", $cust_pay->void_date %></B></TD> + </TR> + +%# <TR> +%# <TD ALIGN="right">Void reason</TD> +%# <TD BGCOLOR="#FFFFFF"><B><% $cust_pay->reason %></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> +% } + +% } + +% if ( $conf->exists('pkg-balances') && $cust_pay->pkgnum ) { +% my $cust_pkg = qsearchs('cust_pkg', { 'pkgnum' => $cust_pay->pkgnum } ); + <TR> + <TD ALIGN="right">For package</TD> + <TD BGCOLOR="#FFFFFF"><B><% $cust_pkg->pkg_label_long %></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 EVENTUALLY + || $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 $void = $cgi->param('void') ? 1 : 0; +my $thing = $void ? 'Voided Payment' : 'Payment'; +my $table = $void ? 'cust_pay_void' : 'cust_pay'; + +my $cust_pay = qsearchs({ + 'select' => "$table.*", + 'table' => $table, + 'addl_from' => 'LEFT JOIN cust_main USING ( custnum )', + 'hashref' => { 'paynum' => $paynum }, + 'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql, +}); +die "$thing #$paynum not found!" unless $cust_pay; + +my $pr_link = "${p}view/cust_pay.html?link=print;paynum=$paynum;void=$void"; + +my $custnum = $cust_pay->custnum; +my $display_custnum = $cust_pay->cust_main->display_custnum; + +my $conf = new FS::Conf; + +my $money_char = $conf->config('money_char') || '$'; + +tie my %payby, 'Tie::IxHash', FS::payby->payby2longname; + +</%init> |