RT# 80175 - readded the ability for payment gateway overrides to have an option to...
authorChristopher Burger <burgerc@freeside.biz>
Thu, 12 Apr 2018 18:08:26 +0000 (14:08 -0400)
committerChristopher Burger <burgerc@freeside.biz>
Tue, 8 Jan 2019 17:12:13 +0000 (12:12 -0500)
Conflicts:
FS/FS/agent.pm

FS/FS/agent.pm

index 8aff96a..bf389de 100644 (file)
@@ -294,15 +294,13 @@ sub payment_gateway {
     }
   }
 
-  my $cardtype_search = "AND ( cardtype IS NULL OR cardtype <> 'ACH')";
-  $cardtype_search = "AND ( cardtype IS NULL OR cardtype = 'ACH' )" if $options{method} eq 'ECHECK';
+  my $cardtype = '';
+  if ( $options{method} eq 'ECHECK' ) { $cardtype = 'ACH'; }
 
   my $override =
-      qsearchs({
-        "table" => 'agent_payment_gateway',
-        "hashref" => { agentnum => $self->agentnum, },
-        "extra_sql" => $cardtype_search,
-      });
+     qsearchs('agent_payment_gateway', { agentnum => $self->agentnum,
+                                         cardtype => $cardtype,      } )
+  || qsearchs('agent_payment_gateway', { agentnum => $self->agentnum } );
 
   my $payment_gateway = FS::payment_gateway->by_key_or_default(
     gatewaynum => $override ? $override->gatewaynum : '',