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', {}) ],
};
- 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";
$packet->{'pkgpart'} =~ /^(\d+)$/ or '' =~ /^()$/;
my $pkgpart = $1;
+ $error ||= 'Please select a package' unless $pkgpart; #msgcat
my $part_pkg =
qsearchs( 'part_pkg', { 'pkgpart' => $pkgpart } )
#should check list for errors...
#$cust_main->suspend;
local $FS::svc_Common::noexport_hack = 1;
- $cust_main->cancel;
+ $cust_main->cancel('quiet'=>1);
$error = '_decline';
}
}
+1;