projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
RT# 83436 - fixed Advanced Broadband Service Report when displaying phone numbers
[freeside.git]
/
FS
/
bin
/
freeside-rbc-upload
diff --git
a/FS/bin/freeside-rbc-upload
b/FS/bin/freeside-rbc-upload
index
3fff32a
..
1d3d0ed
100755
(executable)
--- a/
FS/bin/freeside-rbc-upload
+++ b/
FS/bin/freeside-rbc-upload
@@
-33,7
+33,17
@@
my @batches;
if($opt_a) {
my %criteria = (status => 'O');
$criteria{'payby'} = uc($opt_p) if $opt_p;
if($opt_a) {
my %criteria = (status => 'O');
$criteria{'payby'} = uc($opt_p) if $opt_p;
- @batches = qsearch('pay_batch', \%criteria);
+
+ my $extra_sql;
+ $extra_sql = " AND ((payby = 'CHEK' AND type != 'CREDIT') OR (payby != 'CHEK'))" unless FS::pay_batch->can_handle_electronic_refunds('RBC');
+
+ my %hash = (
+ table => 'pay_batch',
+ hashref => \%criteria,
+ extra_sql => $extra_sql,
+ );
+
+ @batches = qsearch(\%hash);
die "No open batches found".($opt_p ? " of type '$opt_p'" : '').".\n"
if !@batches;
}
die "No open batches found".($opt_p ? " of type '$opt_p'" : '').".\n"
if !@batches;
}
@@
-42,6
+52,11
@@
else {
die &usage if !$batchnum;
@batches = qsearchs('pay_batch', { batchnum => $batchnum } );
die "Can't find payment batch '$batchnum'\n" if !@batches;
die &usage if !$batchnum;
@batches = qsearchs('pay_batch', { batchnum => $batchnum } );
die "Can't find payment batch '$batchnum'\n" if !@batches;
+ if ($batches[0]->type eq "CREDIT") {
+ warn "running credit\n";
+ die( "Batch number $batchnum is a credit (batch refund) batch, and this format can not handle batch refunds.\n" )
+ unless FS::pay_batch->can_handle_electronic_refunds('RBC');
+ }
}
my $conf = new FS::Conf;
}
my $conf = new FS::Conf;