X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2FSetup.pm;h=0c3226af8600c33e6c3426310e48ce0d36b950f7;hp=e1d890aaa05f554a916a57009250565bcdbf5ee9;hb=674cb2d9d7105f4cc2871539b2e9f7088cdaa750;hpb=72e94d128a662b7a391b7a90060b5aa07cdef173 diff --git a/FS/FS/Setup.pm b/FS/FS/Setup.pm index e1d890aaa..0c3226af8 100644 --- a/FS/FS/Setup.pm +++ b/FS/FS/Setup.pm @@ -1,20 +1,33 @@ package FS::Setup; +use base qw( Exporter ); use strict; -use vars qw( @ISA @EXPORT_OK ); -use Exporter; +use vars qw( @EXPORT_OK ); #use Tie::DxHash; use Tie::IxHash; use Crypt::OpenSSL::RSA; use FS::UID qw( dbh driver_name ); -use FS::Record; +#use FS::Record; use FS::svc_domain; $FS::svc_domain::whois_hack = 1; $FS::svc_domain::whois_hack = 1; -@ISA = qw( Exporter ); -@EXPORT_OK = qw( create_initial_data enable_encryption ); +#populate_locales +use Locale::Country; +use Locale::SubCountry 1.42; +use FS::cust_main_county; + +#populate_access +use FS::AccessRight; +use FS::access_right; +use FS::access_groupagent; + +#populate_msgcat +use FS::Record qw(qsearch); +use FS::msgcat; + +@EXPORT_OK = qw( create_initial_data enable_encryption enable_banned_pay_pad ); =head1 NAME @@ -57,6 +70,10 @@ sub create_initial_data { populate_numbering(); + enable_encryption(); + + enable_banned_pay_pad(); + if ( $oldAutoCommit ) { dbh->commit or die dbh->errstr; } @@ -84,6 +101,25 @@ sub enable_encryption { } +sub enable_banned_pay_pad { + + eval "use FS::Conf"; + die $@ if $@; + + my $conf = new FS::Conf; + + die "banned_pay-pad already in place" + if length( $conf->config('banned_pay-pad') ); + + #arbitrary but good enough... all we need is *some* per-site random padding + my @pw_set = ( 'a'..'z', 'A'..'Z', '0'..'9', '(', ')', '#', '.', ',' ); + + $conf->set('banned_pay-pad', + join('', map($pw_set[ int(rand($#pw_set)) ], (0..15) ) ) + ); + +} + sub populate_numbering { eval "use FS::lata_Data;"; # this automatically populates the lata table, if unpopulated eval "use FS::msa_Data;"; # this automatically populates the msa table, if unpopulated @@ -91,9 +127,6 @@ sub populate_numbering { sub populate_locales { - use Locale::Country; - use FS::cust_main_county; - #cust_main_county foreach my $country ( sort map uc($_), all_country_codes ) { _add_country($country); @@ -125,8 +158,6 @@ sub populate_addl_locales { sub _add_country { - use Locale::SubCountry 1.42; - my( $country ) = shift; my $subcountry = eval { new Locale::SubCountry($country) }; @@ -207,6 +238,14 @@ sub populate_initial_data { sub initial_data { my %opt = @_; + my $cust_location = FS::cust_location->new({ + 'address1' => '1234 System Lane', + 'city' => 'Systemtown', + 'state' => 'CA', + 'zip' => '54321', + 'country' => 'US', + }); + #tie my %hash, 'Tie::DxHash', tie my %hash, 'Tie::IxHash', @@ -345,18 +384,13 @@ sub initial_data { #with billing type Complimentary. Leave the First package dropdown set to #(none). 'cust_main' => [ - { 'agentnum' => 1, #XXX - 'refnum' => 1, #XXX - 'first' => 'System', - 'last' => 'Accounts', - 'address1' => '1234 System Lane', - 'city' => 'Systemtown', - 'state' => 'CA', - 'zip' => '54321', - 'country' => 'US', - 'payby' => 'COMP', - 'payinfo' => 'system', #or something - 'paydate' => '1/2037', + { 'agentnum' => 1, #XXX + 'refnum' => 1, #XXX + 'first' => 'System', + 'last' => 'Accounts', + 'complimentary' => 'Y', + 'bill_location' => $cust_location, + 'ship_location' => $cust_location, }, ], @@ -393,6 +427,9 @@ sub initial_data { #phone types 'phone_type' => [], + #message templates + 'msg_template' => [], + ; \%hash; @@ -401,9 +438,6 @@ sub initial_data { sub populate_access { - use FS::AccessRight; - use FS::access_right; - foreach my $rightname ( FS::AccessRight->default_superuser_rights ) { my $access_right = new FS::access_right { 'righttype' => 'FS::access_group', @@ -427,9 +461,6 @@ sub populate_access { sub populate_msgcat { - use FS::Record qw(qsearch); - use FS::msgcat; - foreach my $del_msgcat ( qsearch('msgcat', {}) ) { my $error = $del_msgcat->delete; die $error if $error;