'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;
+ }
}