X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2FSetup.pm;h=f005a36216eb7fd6c6a98d1465b19c4084e80eb8;hp=5528c898867c521eb46d5e985efb34e538b36167;hb=57bb423fe457ba4e13726877f53bcdf944f828f8;hpb=7943c96636596806b9fc99195c23b166728280c8 diff --git a/FS/FS/Setup.pm b/FS/FS/Setup.pm index 5528c8988..f005a3621 100644 --- a/FS/FS/Setup.pm +++ b/FS/FS/Setup.pm @@ -7,7 +7,6 @@ use vars qw( @EXPORT_OK ); use Tie::IxHash; use Crypt::OpenSSL::RSA; use FS::UID qw( dbh driver_name ); -#use FS::Record; use FS::svc_domain; $FS::svc_domain::whois_hack = 1; @@ -27,7 +26,7 @@ use FS::access_groupagent; use FS::Record qw(qsearch); use FS::msgcat; -@EXPORT_OK = qw( create_initial_data enable_encryption ); +@EXPORT_OK = qw( create_initial_data enable_encryption enable_banned_pay_pad ); =head1 NAME @@ -71,6 +70,8 @@ sub create_initial_data { populate_numbering(); enable_encryption(); + + enable_banned_pay_pad(); if ( $oldAutoCommit ) { dbh->commit or die dbh->errstr; @@ -97,6 +98,31 @@ sub enable_encryption { $conf->set('encryptionpublickey', $rsa->get_public_key_string ); $conf->set('encryptionprivatekey', $rsa->get_private_key_string ); + # reload Record globals, false laziness with FS::Record + $FS::Record::conf_encryption = $conf->exists('encryption'); + $FS::Record::conf_encryptionmodule = $conf->config('encryptionmodule'); + $FS::Record::conf_encryptionpublickey = join("\n",$conf->config('encryptionpublickey')); + $FS::Record::conf_encryptionprivatekey = join("\n",$conf->config('encryptionprivatekey')); + +} + +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 { @@ -363,13 +389,11 @@ 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', - '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, },