X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fpay_batch.pm;h=0df9c7a236deb88793f99144c1f73b65808e5d1b;hp=d0ed7ae2d3e3f7d7abfab542cf80a564f2451658;hb=38f5c59a6a3b92881c0f60bc8dccc9acd0feef41;hpb=bb201b08e3f48784cd77979dd4e31e866aa4f15d diff --git a/FS/FS/pay_batch.pm b/FS/FS/pay_batch.pm index d0ed7ae2d..0df9c7a23 100644 --- a/FS/FS/pay_batch.pm +++ b/FS/FS/pay_batch.pm @@ -1278,20 +1278,38 @@ sub _upgrade_data { my $error = $pay_batch->insert; if ( $error ) { $dbh->rollback if $oldAutoCommit; - warn "error creating a credit batch: $error\n"; + warn "error creating a check credit batch: $error\n"; + } + } + + my %card_pay_batch = ( + 'status' => 'O', + 'payby' => 'CARD', + 'type' => 'CREDIT', + ); + + my $card_pay_batch = qsearchs( 'pay_batch', \%card_pay_batch ); + + unless ( $card_pay_batch ) { + $card_pay_batch = new FS::pay_batch \%card_pay_batch; + my $error = $card_pay_batch->insert; + if ( $error ) { + $dbh->rollback if $oldAutoCommit; + warn "error creating a card credit batch: $error\n"; } } my $replace_error; foreach my $cust_pay_batch (@batch_refunds) { - $cust_pay_batch->batchnum($pay_batch->batchnum); + if ($cust_pay_batch->payby eq "CARD") { $cust_pay_batch->batchnum($card_pay_batch->batchnum); } + else { $cust_pay_batch->batchnum($pay_batch->batchnum); } $replace_error = $cust_pay_batch->replace(); if ( $replace_error ) { $dbh->rollback if $oldAutoCommit; warn "Unable o move credit to a credit batch: $replace_error"; } else { - warn "Moved cust pay credit ".$cust_pay_batch->paybatchnum." to credit batch ".$cust_pay_batch->batchnum."\n"; + warn "Moved cust pay credit ".$cust_pay_batch->paybatchnum." to ".$cust_pay_batch->payby." credit batch ".$cust_pay_batch->batchnum."\n"; } }