add CASH and WEST payment types (payments only, not cust_main.payby)
[freeside.git] / httemplate / edit / cust_pay.cgi
1 <%
2
3 my $conf = new FS::Conf;
4
5 my %payby = (
6   'BILL' => 'Check',
7   'CASH' => 'Cash',
8   'WEST' => 'Western Union',
9 );
10
11 my($link, $linknum, $paid, $payby, $payinfo, $quickpay, $_date); 
12 if ( $cgi->param('error') ) {
13   $link     = $cgi->param('link');
14   $linknum  = $cgi->param('linknum');
15   $paid     = $cgi->param('paid');
16   $payby    = $cgi->param('payby');
17   $payinfo  = $cgi->param('payinfo');
18   $quickpay = $cgi->param('quickpay');
19   $_date    = $cgi->param('_date') ? str2time($cgi->param('_date')) : time;
20 } elsif ( $cgi->param('custnum') =~ /^(\d+)$/ ) {
21   $link     = 'custnum';
22   $linknum  = $1;
23   $paid     = '';
24   $payby    = $cgi->param('payby') || 'BILL';
25   $payinfo  = '';
26   $quickpay = $cgi->param('quickpay');
27   $_date    = time;
28 } elsif ( $cgi->param('invnum') =~ /^(\d+)$/ ) {
29   $link     = 'invnum';
30   $linknum  = $1;
31   $paid     = '';
32   $payby    = $cgi->param('payby') || 'BILL';
33   $payinfo  = "";
34   $quickpay = '';
35   $_date    = time;
36 } else {
37   die "illegal query ". $cgi->keywords;
38 }
39
40 my $paybatch = "webui-$_date-$$-". rand() * 2**32;
41
42 my $title = 'Post '. $payby{$payby}. ' payment';
43 $title .= " against Invoice #$linknum" if $link eq 'invnum';
44
45 %>
46
47 <%=  header($title, '') %>
48
49 <% if ( $cgi->param('error') ) { %>
50 <FONT SIZE="+1" COLOR="#ff0000">Error: <%= $cgi->param('error') %></FONT>
51 <BR><BR>
52 <% } %>
53
54 <%= ntable("#cccccc",2) %>
55
56 <LINK REL="stylesheet" TYPE="text/css" HREF="../elements/calendar-win2k-2.css" TITLE="win2k-2">
57 <SCRIPT TYPE="text/javascript" SRC="../elements/calendar_stripped.js"></SCRIPT>
58 <SCRIPT TYPE="text/javascript" SRC="../elements/calendar-en.js"></SCRIPT>
59 <SCRIPT TYPE="text/javascript" SRC="../elements/calendar-setup.js"></SCRIPT>
60
61 <FORM ACTION="<%= popurl(1) %>process/cust_pay.cgi" METHOD=POST>
62 <INPUT TYPE="hidden" NAME="link" VALUE="<%= $link %>">
63 <INPUT TYPE="hidden" NAME="linknum" VALUE="<%= $linknum %>">
64 <INPUT TYPE="hidden" NAME="quickpay" VALUE="<%= $quickpay %>">
65
66 <% 
67 my $money_char = $conf->config('money_char') || '$';
68 my $custnum;
69 if ( $link eq 'invnum' ) {
70   my $cust_bill = qsearchs('cust_bill', { 'invnum' => $linknum } )
71     or die "unknown invnum $linknum";
72   $custnum = $cust_bill->custnum;
73 } elsif ( $link eq 'custnum' ) {
74   $custnum = $linknum;
75 }
76 %>
77
78 <%= small_custview($custnum, $conf->config('countrydefault')) %>
79
80 <INPUT TYPE="hidden" NAME="payby" VALUE="<%= $payby %>">
81
82 <BR><BR>
83 Payment
84 <%= ntable("#cccccc", 2) %>
85 <TR>
86   <TD ALIGN="right">Date</TD>
87   <TD COLSPAN=2>
88     <INPUT TYPE="text" NAME="_date" ID="_date_text" VALUE="<%= time2str("%m/%d/%Y %r",$_date) %>">
89     <IMG SRC="../images/calendar.png" ID="_date_button" STYLE="cursor: pointer" TITLE="Select date">
90   </TD>
91 </TR>
92 <SCRIPT TYPE="text/javascript">
93   Calendar.setup({
94     inputField: "_date_text",
95     ifFormat:   "%m/%d/%Y",
96     button:     "_date_button",
97     align:      "BR"
98   });
99 </SCRIPT>
100 <TR>
101   <TD ALIGN="right">Amount</TD>
102   <TD BGCOLOR="#ffffff" ALIGN="right"><%= $money_char %></TD>
103   <TD><INPUT TYPE="text" NAME="paid" VALUE="<%= $paid %>" SIZE=8 MAXLENGTH=8> by <B><%= $payby{$payby} %></B></TD>
104 </TR>
105
106 <% if ( $payby eq 'BILL' ) { %>
107
108   <TR>
109     <TD ALIGN="right">Check #</TD>
110     <TD COLSPAN=2><INPUT TYPE="text" NAME="payinfo" VALUE="<%= $payinfo %>" SIZE=10></TD>
111   </TR>
112
113 <% } %>
114
115 <TR>
116 <% if ( $link eq 'custnum' ) { %>
117   <TD ALIGN="right">Auto-apply<BR>to invoices</TD>
118   <TD COLSPAN=2><SELECT NAME="apply"><OPTION VALUE="yes" SELECTED>yes<OPTION>no</SELECT></TD>
119 <% } elsif ( $link eq 'invnum' ) { %>
120   <TD ALIGN="right">Apply to</TD>
121   <TD COLSPAN=2 BGCOLOR="#ffffff">Invoice #<B><%= $linknum %></B> only</TD>
122   <INPUT TYPE="hidden" NAME="apply" VALUE="no">
123 <% } %>
124 </TR>
125
126 </TABLE>
127
128 <INPUT TYPE="hidden" NAME="paybatch" VALUE="<%= $paybatch %>">
129
130 <BR>
131 <INPUT TYPE="submit" VALUE="Post payment">
132     </FORM>
133   </BODY>
134 </HTML>