diff options
author | ivan <ivan> | 2003-09-19 12:02:45 +0000 |
---|---|---|
committer | ivan <ivan> | 2003-09-19 12:02:45 +0000 |
commit | 5a9cfe0333e442472880b26398930e4160071949 (patch) | |
tree | f1987ae1fb295d474e9935fc0f53055b2a72effd /FS | |
parent | 8141f1dde4994789cbc6298e6cfdf3050d2fbfdc (diff) |
cache initial signup_info for performance
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/ClientAPI/Signup.pm | 8 |
1 files changed, 6 insertions, 2 deletions
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"; |