X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2FClientAPI%2FSignup.pm;h=8f6dc294956d153e627c201c0daa7e067e7450c9;hp=710c16c7ab1c80b623cd324bbaef8c9e9bdb750b;hb=5a9cfe0333e442472880b26398930e4160071949;hpb=8141f1dde4994789cbc6298e6cfdf3050d2fbfdc diff --git a/FS/FS/ClientAPI/Signup.pm b/FS/FS/ClientAPI/Signup.pm index 710c16c7a..8f6dc2949 100644 --- a/FS/FS/ClientAPI/Signup.pm +++ b/FS/FS/ClientAPI/Signup.pm @@ -23,7 +23,8 @@ sub signup_info { my $conf = new FS::Conf; - my $signup_info = { + use vars qw($signup_info); #cache for performance; + $signup_info ||= { 'cust_main_county' => [ map { $_->hashref } qsearch('cust_main_county', {}) ], @@ -57,7 +58,10 @@ sub signup_info { }; - if ( $conf->config('signup_server-default_agentnum') ) { + if ( + $conf->config('signup_server-default_agentnum') + || !exists $signup_info->{'part_pkg'} #cache for performance + ) { my $agentnum = $conf->config('signup_server-default_agentnum'); my $agent = qsearchs( 'agent', { 'agentnum' => $agentnum } ) or die "fatal: signup_server-default_agentnum $agentnum not found\n";