less cut and paste
authorivan <ivan>
Wed, 6 Sep 2006 01:07:24 +0000 (01:07 +0000)
committerivan <ivan>
Wed, 6 Sep 2006 01:07:24 +0000 (01:07 +0000)
FS/FS/ClientAPI/Signup.pm

index 7589f16..b1cc3f0 100644 (file)
@@ -83,22 +83,21 @@ sub signup_info {
     'countrydefault' => $conf->config('countrydefault') || 'US',
 
     'refnum' => $conf->config('signup_server-default_refnum'),
     'countrydefault' => $conf->config('countrydefault') || 'US',
 
     'refnum' => $conf->config('signup_server-default_refnum'),
-  };
-
 
 
+  };
 
 
-  if ($conf->exists('signup_server-classnum2') || $conf->exists('signup_server-classnum3')) {
-      $signup_info->{optional_packages} = [];
+  my @addl = qw( signup_server-classnum2 signup_server-classnum3 );
 
 
-      if (my $classnum = $conf->config('signup_server-classnum2')) {
-         my @pkgs = map { $_->hashref } FS::Record::qsearch( 'part_pkg', { classnum => $classnum } );
-         push @{$signup_info->{optional_packages}}, \@pkgs;
-      }
+  if ( grep { $conf->exists($_) } @addl ) {
+  
+    $signup_info->{optional_packages} = [];
 
 
-      if (my $classnum = $conf->config('signup_server-classnum3')) {
-         my @pkgs = map { $_->hashref } FS::Record::qsearch( 'part_pkg', { classnum => $classnum } );
-         push @{$signup_info->{optional_packages}}, \@pkgs;
-      }
+    foreach my $addl ( @addl ) {
+      my $classnum = $conf->config($addl) or next;
+      my @pkgs = map { $_->hashref }
+                     qsearch( 'part_pkg', { classnum => $classnum } );
+      push @{$signup_info->{optional_packages}}, \@pkgs;
+    }
 
   }
 
 
   }