98ea2f5a2b41fc9bfa01fa8bb69e74cdc8b6b804
[freeside.git] / httemplate / browse / cust_pay_batch.cgi
1 <!-- mason kludge -->
2 <%= include("/elements/header.html","Credit card batch details", menubar( 'Main Menu' => $p,)) %>
3
4 <%
5
6 die "No batch specified (bad URL)!" unless $cgi->keywords;
7 my($query) = $cgi->keywords;
8 $query =~ /^(\d+)$/;
9 my $batchnum = $1;
10 my $pay_batch = qsearchs('pay_batch',{'batchnum'=>$batchnum});
11 die "Batch not found!" unless $pay_batch;
12
13 %>
14
15 <FORM ACTION="<%=$p%>misc/download-batch.cgi" METHOD="POST">
16 Download batch in format <SELECT NAME="format">
17 <OPTION VALUE="">Default batch mode</OPTION>
18 <OPTION VALUE="csv-td_canada_trust-merchant_pc_batch">CSV file for TD Canada Trust Merchant PC Batch</OPTION>
19 <OPTION VALUE="PAP">80 byte file for TD Canada Trust PAP Batch</OPTION>
20 <OPTION VALUE="BoM">Bank of Montreal ECA batch</OPTION>
21 </SELECT><INPUT TYPE="hidden" NAME="batchnum" VALUE="<%= $batchnum %>"><INPUT TYPE="submit" VALUE="Download"></FORM>
22 <BR><BR>
23
24 <FORM ACTION="<%=$p%>misc/upload-batch.cgi" METHOD="POST" ENCTYPE="multipart/form-data">
25 Upload results<BR>
26 Filename <INPUT TYPE="file" NAME="batch_results"><BR>
27 Format <SELECT NAME="format">
28 <OPTION VALUE="">Default batch mode</OPTION>
29 <OPTION VALUE="csv-td_canada_trust-merchant_pc_batch">CSV results from TD Canada Trust Merchant PC Batch</OPTION>
30 <OPTION VALUE="PAP">264 byte results for TD Canada Trust PAP Batch</OPTION>
31 <OPTION VALUE="BoM">Bank of Montreal ECA results</OPTION>
32 </SELECT><BR>
33 <INPUT TYPE="submit" VALUE="Upload"></FORM>
34 <BR>
35
36 <%
37   my $statement = "SELECT SUM(amount) from cust_pay_batch WHERE batchnum=".
38                      $batchnum;
39   my $sth = dbh->prepare($statement) or die dbh->errstr. "doing $statement";
40   $sth->execute or die "Error executing \"$statement\": ". $sth->errstr;
41   my $total = $sth->fetchrow_arrayref->[0];
42
43   my $c_statement = "SELECT COUNT(*) from cust_pay_batch WHERE batchnum=".
44                        $batchnum;
45   my $c_sth = dbh->prepare($c_statement)
46     or die dbh->errstr. "doing $c_statement";
47   $c_sth->execute or die "Error executing \"$c_statement\": ". $c_sth->errstr;
48   my $cards = $c_sth->fetchrow_arrayref->[0];
49 %>
50 <%= $cards %> credit card payments batched<BR>
51 $<%= sprintf("%.2f", $total) %> total in batch<BR>
52
53 <BR>
54 <%= &table() %>
55       <TR>
56         <TH>#</TH>
57         <TH><font size=-1>inv#</font></TH>
58         <TH COLSPAN=2>Customer</TH>
59         <TH>Card name</TH>
60         <TH>Card</TH>
61         <TH>Exp</TH>
62         <TH>Amount</TH>
63         <TH>Status</TH>
64       </TR>
65
66 <%
67 foreach my $cust_pay_batch ( sort { $a->paybatchnum <=> $b->paybatchnum }
68                              qsearch('cust_pay_batch', {'batchnum'=>$batchnum} )
69 ) {
70   my $cardnum = $cust_pay_batch->payinfo;
71   #$cardnum =~ s/.{4}$/xxxx/;
72   $cardnum = 'x'x(length($cardnum)-4). substr($cardnum,(length($cardnum)-4));
73
74   $cust_pay_batch->exp =~ /^\d{2}(\d{2})[\/\-](\d+)[\/\-]\d+$/;
75   my( $mon, $year ) = ( $2, $1 );
76   $mon = "0$mon" if $mon < 10;
77   my $exp = "$mon/$year";
78
79 %>
80
81       <TR>
82         <TD><%= $cust_pay_batch->paybatchnum %></TD>
83         <TD><A HREF="../view/cust_bill.cgi?<%= $cust_pay_batch->invnum %>"><%= $cust_pay_batch->invnum %></TD>
84         <TD><A HREF="../view/cust_main.cgi?<%= $cust_pay_batch->custnum %>"><%= $cust_pay_batch->custnum %></TD>
85         <TD><%= $cust_pay_batch->get('last'). ', '. $cust_pay_batch->first %></TD>
86         <TD><%= $cust_pay_batch->payname %></TD>
87         <TD><%= $cardnum %></TD>
88         <TD><%= $exp %></TD>
89         <TD align="right">$<%= $cust_pay_batch->amount %></TD>
90         <TD><%= $cust_pay_batch->status %></TD>
91       </TR>
92
93 <% } %>
94
95     </TABLE>
96   </BODY>
97 </HTML>