clarify correct use of batchconfig-eft_canada, #16252
authorMark Wells <mark@freeside.biz>
Fri, 21 Jun 2013 20:35:52 +0000 (13:35 -0700)
committerMark Wells <mark@freeside.biz>
Fri, 21 Jun 2013 20:35:52 +0000 (13:35 -0700)
FS/FS/Conf.pm
FS/bin/freeside-eftca-download

index 75bba36..b88aa11 100644 (file)
@@ -3686,7 +3686,7 @@ and customer address. Include units.',
   {
     'key'         => 'batchconfig-eft_canada',
     'section'     => 'billing',
-    'description' => 'Configuration for EFT Canada batching, four lines: 1. SFTP username, 2. SFTP password, 3. Transaction code, 4. Number of days to delay process date.',
+    'description' => 'Configuration for EFT Canada batching, four lines: 1. SFTP username, 2. SFTP password, 3. Transaction code, 4. Number of days to delay process date.  If you are using separate per-agent batches (batch-spoolagent), you must set this option separately for each agent, as the global setting will be ignored.',
     'type'        => 'textarea',
     'per_agent'   => 1,
   },
index d54a724..1b7653c 100755 (executable)
@@ -52,7 +52,7 @@ my $conf = new FS::Conf;
 
 my @agents;
 if ( $conf->exists('batch-spoolagent') ) {
-  @agents = qsearchs('agent', { 'disabled' => '' });
+  @agents = qsearch('agent', { 'disabled' => '' });
 } else {
   @agents = (1);
 }
@@ -62,11 +62,14 @@ foreach my $agent (@agents) {
   my @batchconf;
   if ( $conf->exists('batch-spoolagent') ) {
     @batchconf = $conf->config('batchconfig-eft_canada', $agent->agentnum, 1);
-    next unless $batchconf[0];
+    if ( !length($batchconf[0]) ) {
+      warn "agent '".$agent->agent."' has no batchconfig-eft_canada setting; skipped.\n";
+      next;
+    }
   } else {
     @batchconf = $conf->config('batchconfig-eft_canada');
   }
-  # BIN, terminalID, merchantID, username, password
+  # user, password, transaction code, delay days
   my $user = $batchconf[0] or die "no EFT Canada batch username configured\n";
   my $pass = $batchconf[1] or die "no EFT Canada batch password configured\n";