From: ivan Date: Wed, 6 Sep 2006 01:07:24 +0000 (+0000) Subject: less cut and paste X-Git-Tag: TRIXBOX_2_6~970 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=2bd722cd60781c197fb5d98dcbb0f5f630bb2a12 less cut and paste --- diff --git a/FS/FS/ClientAPI/Signup.pm b/FS/FS/ClientAPI/Signup.pm index 7589f16fc..b1cc3f08e 100644 --- a/FS/FS/ClientAPI/Signup.pm +++ b/FS/FS/ClientAPI/Signup.pm @@ -83,22 +83,21 @@ sub signup_info { '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; + } }