+ } qsearch('agent', { 'disabled' => '' })
+ };
+
+ my $msgcat = { map { $_=>gettext($_) }
+ qw( passwords_dont_match invalid_card unknown_card_type
+ not_a empty_password illegal_or_empty_text )
+ };
+ warn "msgcat: ". Dumper($msgcat). "\n" if $DEBUG > 2;
+
+ my $label = { map { $_ => FS::Msgcat::_gettext($_) }
+ qw( stateid stateid_state )
+ };
+ warn "label: ". Dumper($label). "\n" if $DEBUG > 2;
+
+ my @agent_fields = qw( agentnum agent );
+
+ my @bools = qw( emailinvoiceonly security_phrase );
+
+ my @signup_bools = qw( no_company recommend_daytime recommend_email );
+
+ my @signup_server_scalars = qw( default_pkgpart default_svcpart );
+
+ my @selfservice_textareas = qw( head body_header body_footer );
+
+ my @selfservice_scalars = qw(
+ body_bgcolor box_bgcolor
+ text_color link_color vlink_color hlink_color alink_color
+ font title_color title_align title_size menu_bgcolor menu_fontsize
+ );
+
+ #XXX my @selfservice_bools = qw(
+ # menu_skipblanks menu_skipheadings menu_nounderline
+ #);
+
+ #my $selfservice_binaries = qw(
+ # title_left_image title_right_image
+ # menu_top_image menu_body_image menu_bottom_image
+ #);
+
+ $signup_info_cache = {
+
+ 'cust_main_county' => [ map $_->hashref,
+ qsearch('cust_main_county', {} )
+ ],
+
+ 'agent' => [ map { my $agent = $_;
+ +{ map { $_ => $agent->get($_) } @agent_fields }
+ }
+ qsearch('agent', { 'disabled' => '' } )
+ ],
+
+ 'part_referral' => [ map $_->hashref,
+ qsearch('part_referral', { 'disabled' => '' } )
+ ],
+
+ 'agentnum2part_pkg' => $agentnum2part_pkg,
+
+ 'svc_acct_pop' => [ map $_->hashref, qsearch('svc_acct_pop',{} ) ],
+
+ 'emailinvoiceonly' => $conf->exists('emailinvoiceonly'),
+
+ 'security_phrase' => $conf->exists('security_phrase'),
+
+ 'nomadix' => $conf->exists('signup_server-nomadix'),
+
+ 'payby' => [ $conf->config('signup_server-payby') ],
+
+ 'payby_longname' => [ map { FS::payby->longname($_) }
+ $conf->config('signup_server-payby') ],
+
+ 'card_types' => card_types(),
+
+ ( map { $_ => $conf->exists("signup-$_") } @signup_bools ),
+
+ ( map { $_ => scalar($conf->config("signup_server-$_")) }
+ @signup_server_scalars
+ ),
+
+ ( map { $_ => join("\n", $conf->config("selfservice-$_")) }
+ @selfservice_textareas
+ ),
+ ( map { $_ => scalar($conf->config("selfservice-$_")) }
+ @selfservice_scalars
+ ),
+
+ #( map { $_ => scalar($conf->config_binary("selfservice-$_")) }
+ # @selfservice_binaries
+ #),
+
+ 'agentnum2part_pkg' => $agentnum2part_pkg,
+ 'svc_acct_pop' => [ map $_->hashref, qsearch('svc_acct_pop',{} ) ],
+ 'nomadix' => $conf->exists('signup_server-nomadix'),
+ 'payby' => [ $conf->config('signup_server-payby') ],
+ 'card_types' => card_types(),
+ 'paytypes' => [ @FS::cust_main::paytypes ],
+ 'cvv_enabled' => 1,
+ 'stateid_enabled' => $conf->exists('show_stateid'),
+ 'paystate_enabled' => $conf->exists('show_bankstate'),
+ 'ship_enabled' => 1,
+ 'msgcat' => $msgcat,
+ 'label' => $label,
+ 'statedefault' => scalar($conf->config('statedefault')) || 'CA',
+ 'countrydefault' => scalar($conf->config('countrydefault')) || 'US',
+ 'refnum' => scalar($conf->config('signup_server-default_refnum')),
+ 'signup_service' => $svc_x,
+ 'company_name' => scalar($conf->config('company_name')),
+ #per-agent?
+ 'agent_ship_address' => scalar($conf->exists('agent-ship_address')),
+ 'require_phone' => scalar($conf->exists('cust_main-require_phone')),
+ 'logo' => scalar($conf->config_binary('logo.png')),
+ 'prepaid_template_custnum' => $conf->exists('signup_server-prepaid-template-custnum'),
+ };