7528d85fc9c1684818e3a0bbd3b00a6c47a49d87
[freeside.git] / httemplate / edit / cust_credit_bill.cgi
1 <%
2
3 my($crednum, $amount, $invnum);
4 if ( $cgi->param('error') ) {
5   #$cust_credit_bill = new FS::cust_credit_bill ( {
6   #  map { $_, scalar($cgi->param($_)) } fields('cust_credit_bill')
7   #} );
8   $crednum = $cgi->param('crednum');
9   $amount = $cgi->param('amount');
10   #$refund = $cgi->param('refund');
11   $invnum = $cgi->param('invnum');
12 } else {
13   my($query) = $cgi->keywords;
14   $query =~ /^(\d+)$/;
15   $crednum = $1;
16   $amount = '';
17   #$refund = 'yes';
18   $invnum = '';
19 }
20
21 my $otaker = getotaker;
22
23 my $p1 = popurl(1);
24
25 print header("Apply Credit", '');
26 print qq!<FONT SIZE="+1" COLOR="#ff0000">Error: !, $cgi->param('error'),
27       "</FONT><BR><BR>"
28   if $cgi->param('error');
29 print <<END;
30     <FORM ACTION="${p1}process/cust_credit_bill.cgi" METHOD=POST>
31 END
32
33 my $cust_credit = qsearchs('cust_credit', { 'crednum' => $crednum } );
34 die "credit $crednum not found!" unless $cust_credit;
35
36 my $credited = $cust_credit->credited;
37
38 print "Credit # <B>$crednum</B>".
39       qq!<INPUT TYPE="hidden" NAME="crednum" VALUE="$crednum">!.
40       '<BR>Date: <B>'. time2str("%D", $cust_credit->_date). '</B>'.
41       '<BR>Amount: $<B>'. $cust_credit->amount. '</B>'.
42       "<BR>Unapplied amount: \$<B>$credited</B>".
43       '<BR>Reason: <B>'. $cust_credit->reason. '</B>'
44       ;
45
46 my @cust_bill = grep $_->owed != 0,
47                 qsearch('cust_bill', { 'custnum' => $cust_credit->custnum } );
48
49 print <<END;
50 <SCRIPT>
51 function changed(what) {
52   cust_bill = what.options[what.selectedIndex].value;
53 END
54
55 foreach my $cust_bill ( @cust_bill ) {
56   my $invnum = $cust_bill->invnum;
57   my $changeto = $cust_bill->owed < $cust_credit->credited
58                    ? $cust_bill->owed 
59                    : $cust_credit->credited;
60   print <<END;
61   if ( cust_bill == $invnum ) {
62     what.form.amount.value = "$changeto";
63   }
64 END
65 }
66
67 print <<END;
68   if ( cust_bill == "Refund" ) {
69     what.form.amount.value = "$credited";
70   }
71 }
72 </SCRIPT>
73 END
74
75 print qq!<BR>Invoice #<SELECT NAME="invnum" SIZE=1 onChange="changed(this)">!,
76       '<OPTION VALUE="">';
77 foreach my $cust_bill ( @cust_bill ) {
78   print '<OPTION'. ( $cust_bill->invnum eq $invnum ? ' SELECTED' : '' ).
79         ' VALUE="'. $cust_bill->invnum. '">'. $cust_bill->invnum.
80         ' -  '. time2str("%D",$cust_bill->_date).
81         ' - $'. $cust_bill->owed;
82 }
83 print qq!<OPTION VALUE="Refund">Refund!;
84 print "</SELECT>";
85
86 print qq!<BR>Amount \$<INPUT TYPE="text" NAME="amount" VALUE="$amount" SIZE=8 MAXLENGTH=8>!;
87
88 print <<END;
89 <BR>
90 <INPUT TYPE="submit" VALUE="Apply">
91 END
92
93 print <<END;
94
95     </FORM>
96   </BODY>
97 </HTML>
98 END
99
100 %>