RT# 73422 Fix report Customer Contacts
[freeside.git] / httemplate / misc / download-batch.cgi
index 306ef5d..c4bc37e 100644 (file)
@@ -1,16 +1,37 @@
-<%
+<% $exporttext %><%init>
 
 #http_header('Content-Type' => 'text/comma-separated-values' ); #IE chokes
-http_header('Content-Type' => 'text/plain' );
+http_header('Content-Type' => 'text/plain' ); # not necessarily correct...
 
-for my $cust_pay_batch ( sort { $a->paybatchnum <=> $b->paybatchnum }
-                              qsearch('cust_pay_batch', {} )
-) {
+my $batchnum;
+if ( $cgi->param('batchnum') =~ /^(\d+)$/ ) {
+  $batchnum = $1;
+} else {
+  die "No batch number (bad URL) \n";
+}
 
-$cust_pay_batch->exp =~ /^\d{2}(\d{2})[\/\-](\d+)[\/\-]\d+$/;
-my( $mon, $y ) = ( $2, $1 );
-$mon = "0$mon" if $mon < 10;
-my $exp = "$mon$y";
+my %opt;
+if ( $cgi->param('gatewaynum') =~ /^(\d+)$/ ) {
+  my $gateway = FS::payment_gateway->by_key($1);
+  die "gatewaynum $1 not found" unless $gateway;
+  $opt{'gateway'} = $gateway;
+}
+elsif ( $cgi->param('format') =~ /^([\w\- ]+)$/ ) {
+  $opt{'format'} = $1;
+}
 
-%>,,,,<%= $cust_pay_batch->cardnum %>,<%= $exp %>,<%= $cust_pay_batch->amount %>,<%= $cust_pay_batch->paybatchnum %>
-<% } %>
+my $pay_batch = qsearchs('pay_batch', { batchnum => $batchnum } );
+die "Batch not found: '$batchnum'" if !$pay_batch;
+
+my $exporttext = $pay_batch->export_batch(%opt);
+unless ($exporttext) {
+  http_header('Content-Type' => 'text/html' );
+  $exporttext = <<EOF;
+<SCRIPT>
+alert('Batch was empty, and has been resolved');
+window.top.location.href = '${p}search/pay_batch.cgi?magic=_date;open=1;intransit=1;resolved=1';
+</SCRIPT>
+EOF
+}
+
+</%init>