summaryrefslogtreecommitdiff
path: root/FS/bin
diff options
context:
space:
mode:
authorMitch Jackson <mitch@freeside.biz>2019-01-08 00:01:21 -0500
committerMitch Jackson <mitch@freeside.biz>2019-01-08 00:01:21 -0500
commite61149f7135b750b2b6ff6ee94f461460163ddea (patch)
tree1e92d72fb57965731b473262b626b179085ad8d1 /FS/bin
parentca5b439d4e874bec01a346f53f2bd9e50d612151 (diff)
RT# 81701 Add system log lines for EFT Canada upload/download
Diffstat (limited to 'FS/bin')
-rwxr-xr-xFS/bin/freeside-eftca-download5
-rwxr-xr-xFS/bin/freeside-eftca-upload35
2 files changed, 31 insertions, 9 deletions
diff --git a/FS/bin/freeside-eftca-download b/FS/bin/freeside-eftca-download
index caf9e0e..56d82c7 100755
--- a/FS/bin/freeside-eftca-download
+++ b/FS/bin/freeside-eftca-download
@@ -57,7 +57,10 @@ my $conf = new FS::Conf;
my @agents;
if ( $conf->exists('batch-spoolagent') ) {
- @agents = qsearch('agent', { 'disabled' => '' });
+ local $@;
+ eval { @agents = qsearch('agent', { 'disabled' => '' }); };
+ log_error_and_die("Fatal database error: $@")
+ if $@;
} else {
@agents = (1);
}
diff --git a/FS/bin/freeside-eftca-upload b/FS/bin/freeside-eftca-upload
index 9818cbd..503c7a3 100755
--- a/FS/bin/freeside-eftca-upload
+++ b/FS/bin/freeside-eftca-upload
@@ -31,13 +31,25 @@ log_info( "EFT Canada upload started\n" );
my @batches;
if($opt_a) {
- @batches = qsearch('pay_batch', { 'status' => 'O', 'payby' => 'CHEK' })
- or log_info_and_die( "Finished: No open batches found.\n" );
+ local $@;
+ eval {
+ @batches = qsearch('pay_batch', { 'status' => 'O', 'payby' => 'CHEK' })
+ };
+ log_error_and_die ("Fatal database error: $@")
+ if $@;
+
+ log_info_and_die( "Finished: No open batches found.\n" )
+ unless @batches;
}
else {
my $batchnum = shift;
die &HELP_MESSAGE if !$batchnum;
- @batches = qsearchs('pay_batch', { batchnum => $batchnum } );
+
+ local $@;
+ eval { @batches = qsearchs('pay_batch', { batchnum => $batchnum } ); };
+ log_error_and_die("Fatal database error: $@")
+ if $@;
+
log_error_and_die( "Can't find payment batch '$batchnum'\n" ) if !@batches;
}
@@ -84,11 +96,18 @@ foreach my $pay_batch (@batches) {
# Auto-approve and close the batch. Some false laziness with manual_approve.
my $batchnum = $pay_batch->batchnum;
my $error;
- foreach my $cpb ( qsearch('cust_pay_batch', { 'batchnum' => $batchnum } ) ) {
- $cpb->setfield('paid', $cpb->amount);
- $error = $cpb->approve($batchnum);
- last if $error;
- }
+
+ local $@;
+ eval {
+ foreach my $cpb ( qsearch('cust_pay_batch', { 'batchnum' => $batchnum } )) {
+ $cpb->setfield('paid', $cpb->amount);
+ $error = $cpb->approve($batchnum);
+ last if $error;
+ }
+ };
+ log_error_and_die("Fatal database error: $@")
+ if $@;
+
$error ||= $pay_batch->set_status('R');
log_error_and_die( "error closing batch $batchnum: $error\n\n" )
if $error;