3 my($paynum, $amount, $invnum);
4 if ( $cgi->param('error') ) {
5 $paynum = $cgi->param('paynum');
6 $amount = $cgi->param('amount');
7 $invnum = $cgi->param('invnum');
9 my($query) = $cgi->keywords;
16 my $otaker = getotaker;
20 %><%= header("Apply Payment", '') %>
22 <% if ( $cgi->param('error') ) { %>
23 <FONT SIZE="+1" COLOR="#ff0000">Error: <%= $cgi->param('error') %></FONT>
27 <FORM ACTION="<%= $p1 %>process/cust_bill_pay.cgi" METHOD=POST>
30 my $cust_pay = qsearchs('cust_pay', { 'paynum' => $paynum } );
31 die "payment $paynum not found!" unless $cust_pay;
33 my $unapplied = $cust_pay->unapplied;
36 Payment #<B><%= $paynum %></B>
37 <INPUT TYPE="hidden" NAME="paynum" VALUE="<%= $paynum %>">
39 <BR>Date: <B><%= time2str("%D", $cust_pay->_date) %></B>
41 <BR>Amount: $<B><%= $cust_pay->paid %></B>
43 <BR>Unapplied amount: $<B><%= $unapplied %></B>
46 my @cust_bill = grep $_->owed != 0,
47 qsearch('cust_bill', { 'custnum' => $cust_pay->custnum } );
52 function changed(what) {
53 cust_bill = what.options[what.selectedIndex].value;
55 <% foreach my $cust_bill ( @cust_bill ) {
56 my $invnum = $cust_bill->invnum;
57 my $changeto = $cust_bill->owed < $unapplied
61 if ( cust_bill == $invnum ) {
62 what.form.amount.value = "<%= $changeto %>";
66 if ( cust_bill == "Refund" ) {
67 what.form.amount.value = "<%= $unapplied %>";
72 <BR>Invoice #<SELECT NAME="invnum" SIZE=1 onChange="changed(this)">
75 <% foreach my $cust_bill ( @cust_bill ) { %>
77 <OPTION<%= $cust_bill->invnum eq $invnum ? ' SELECTED' : '' %> VALUE="<%= $cust_bill->invnum %>"><%= $cust_bill->invnum %> - <%= time2str("%D", $cust_bill->_date) %> - $<%= $cust_bill->owed %>
81 <OPTION VALUE="Refund">Refund
84 <BR>Amount $<INPUT TYPE="text" NAME="amount" VALUE="<%= $amount %>" SIZE=8 MAXLENGTH=8>
87 <CENTER><INPUT TYPE="submit" VALUE="Apply"></CENTER>