Filter out requirements for specific Freeside modules so that you can install
[freeside.git] / FS / FS / ClientAPI / Signup.pm
index 02aa580..1f00798 100644 (file)
@@ -61,7 +61,9 @@ sub signup_info {
                   } }
                 grep { $_->svcpart($svc_x)
                        && ( $href->{ $_->pkgpart }
-                            || $_->agentnum == $agent->agentnum
+                            || ( $_->agentnum
+                                 && $_->agentnum == $agent->agentnum
+                               )
                           )
                      }
                   qsearch( 'part_pkg', { 'disabled' => '' } )
@@ -286,11 +288,14 @@ sub signup_info {
       foreach my $payby (@{$signup_info->{payby}}) {
         warn "$me checking $payby payment fields\n" if $DEBUG > 1;
         my $hide = 0;
-        if (FS::payby->realtime($payby)) {
+        if ( FS::payby->realtime($payby) ) {
           my $payment_gateway =
-            $agent->payment_gateway( 'method' => FS::payby->payby2bop($payby) );
-          if ($payment_gateway->gateway_namespace eq
-              'Business::OnlineThirdPartyPayment'
+            $agent->payment_gateway( 'method'  => FS::payby->payby2bop($payby),
+                                     'nofatal' => 1,
+                                   );
+          if ( $payment_gateway
+                 && $payment_gateway->gateway_namespace
+                      eq 'Business::OnlineThirdPartyPayment'
              ) {
             warn "$me hiding $payby payment fields\n" if $DEBUG > 1;
             $hide = 1;