hopefully really fix self-service when not using real-time gateway
authorivan <ivan>
Sat, 29 Aug 2009 19:05:22 +0000 (19:05 +0000)
committerivan <ivan>
Sat, 29 Aug 2009 19:05:22 +0000 (19:05 +0000)
FS/FS/ClientAPI/MyAccount.pm

index b734424..73d27b5 100644 (file)
@@ -209,12 +209,14 @@ sub access_info {
 
   $info->{hide_payment_fields} =
   [
-    map { return 0 unless FS::payby->realtime($_);
-          my $pg = $cust_main->agent->payment_gateway(
-            'method'  => FS::payby->payby2bop($_),
-            'nofatal' => 1,
-          ) or return 0;
-          $pg->gateway_namespace eq 'Business::OnlineThirdPartyPayment';
+    map { my $pg = '';
+          if ( FS::payby->realtime($_) ) {
+            $pg = $cust_main->agent->payment_gateway(
+              'method'  => FS::payby->payby2bop($_),
+              'nofatal' => 1,
+            );
+          }
+          $pg && $pg->gateway_namespace eq 'Business::OnlineThirdPartyPayment';
         }
     @{ $info->{cust_paybys} }
   ];
@@ -469,12 +471,14 @@ sub payment_info {
 
   $return{hide_payment_fields} =
   [
-    map { return 0 unless FS::payby->realtime($_);
-          my $pg = $cust_main->agent->payment_gateway(
-            'method'  => FS::payby->payby2bop($_),
-            'nofatal' => 1,
-          ) or return 0;
-          $pg->gateway_namespace eq 'Business::OnlineThirdPartyPayment';
+    map { my $pg = '';
+          if ( FS::payby->realtime($_) ) {
+            $pg = $cust_main->agent->payment_gateway(
+              'method'  => FS::payby->payby2bop($_),
+              'nofatal' => 1,
+            );
+          }
+          $pg && $pg->gateway_namespace eq 'Business::OnlineThirdPartyPayment';
         }
     @{ $return{cust_paybys} }
   ];