X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fmisc%2Fdownload-batch.cgi;h=e4882d1e894dd8fbd6e581e873a89f3998875b5b;hb=2163c682341bebc40b83dbe5bc7f027b17b6a50f;hp=f3a31eb3ba27024dc0046196a96c5fb1431b35b2;hpb=92aedddd3684167abb60cd3f1d77bbc156c592e6;p=freeside.git diff --git a/httemplate/misc/download-batch.cgi b/httemplate/misc/download-batch.cgi index f3a31eb3b..e4882d1e8 100644 --- a/httemplate/misc/download-batch.cgi +++ b/httemplate/misc/download-batch.cgi @@ -1,9 +1,10 @@ -<% $pay_batch->export_batch(%opt) %><%init> +<% $exporttext %><%init> #http_header('Content-Type' => 'text/comma-separated-values' ); #IE chokes http_header('Content-Type' => 'text/plain' ); # not necessarily correct... my $batchnum; + if ( $cgi->param('batchnum') =~ /^(\d+)$/ ) { $batchnum = $1; } else { @@ -20,7 +21,27 @@ elsif ( $cgi->param('format') =~ /^([\w\- ]+)$/ ) { $opt{'format'} = $1; } -my $pay_batch = qsearchs('pay_batch', { batchnum => $batchnum } ); +my $credit_transactions = "EXISTS (SELECT 1 FROM cust_pay_batch WHERE batchnum = $batchnum AND paycode = 'C') AS arecredits"; +my $pay_batch = qsearchs({ 'select' => "*, $credit_transactions", + 'table' => 'pay_batch', + 'hashref' => { batchnum => $batchnum }, + }); die "Batch not found: '$batchnum'" if !$pay_batch; +if ($pay_batch->{Hash}->{arecredits}) { + my $export_format = "FS::pay_batch::".$opt{'format'}; + die "You are trying to download a credit (batch refund) batch and The format ".$opt{'format'}." can not handle refunds.\n" unless $export_format->can('can_handle_credits'); +} + +my $exporttext = $pay_batch->export_batch(%opt); +unless ($exporttext) { + http_header('Content-Type' => 'text/html' ); + $exporttext = < +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'; + +EOF +} +