use Exporter;
#use Tie::DxHash;
use Tie::IxHash;
+use Crypt::OpenSSL::RSA;
use FS::UID qw( dbh driver_name );
use FS::Record;
$FS::svc_domain::whois_hack = 1;
@ISA = qw( Exporter );
-@EXPORT_OK = qw( create_initial_data );
+@EXPORT_OK = qw( create_initial_data enable_encryption );
=head1 NAME
populate_msgcat();
populate_numbering();
+
+ enable_encryption();
if ( $oldAutoCommit ) {
dbh->commit or die dbh->errstr;
}
+sub enable_encryption {
+
+ eval "use FS::Conf";
+ die $@ if $@;
+
+ my $conf = new FS::Conf;
+
+ die "encryption key(s) already in place"
+ if $conf->exists('encryptionpublickey')
+ || $conf->exists('encryptionprivatekey');
+
+ my $length = 2048;
+ my $rsa = Crypt::OpenSSL::RSA->generate_key($length);
+
+ $conf->set('encryption', 1);
+ $conf->set('encryptionmodule', 'Crypt::OpenSSL::RSA');
+ $conf->set('encryptionpublickey', $rsa->get_public_key_string );
+ $conf->set('encryptionprivatekey', $rsa->get_private_key_string );
+
+}
+
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
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',
'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',
+ 'bill_location' => $cust_location,
+ 'ship_location' => $cust_location,
},
],