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