#initial_data data
populate_initial_data(%opt);
+ populate_access();
+
populate_msgcat();
if ( $oldAutoCommit ) {
my @states = $subcountry ? $subcountry->all_codes : undef;
if ( !scalar(@states) || ( scalar(@states)==1 && !defined($states[0]) ) ) {
-
- my $cust_main_county = new FS::cust_main_county({
- 'tax' => 0,
- 'country' => $country,
- });
- my $error = $cust_main_county->insert;
- die $error if $error;
+
+ _add_locale( 'country'=>$country );
} else {
}
foreach my $state ( @states ) {
-
- my $cust_main_county = new FS::cust_main_county({
- 'state' => $state,
- 'tax' => 0,
- 'country' => $country,
- });
- my $error = $cust_main_county->insert;
- die $error if $error;
-
+ _add_locale( 'country'=>$country, 'state'=>$state);
}
}
}
+sub populate_addl_locales {
+
+ my %addl = (
+ 'US' => {
+ 'FM' => 'Federated States of Micronesia',
+ 'MH' => 'Federated States of Micronesia',
+ 'PW' => 'Federated States of Micronesia',
+ 'AA' => "Armed Forces Americas (except Canada)",
+ 'AE' => "Armed Forces Europe / Canada / Middle East / Africa",
+ 'AP' => "Armed Forces Pacific",
+ },
+ );
+
+ foreach my $country ( keys %addl ) {
+ foreach my $state ( keys %{ $addl{$country} } ) {
+ # $longname = $addl{$country}{$state};
+ _add_locale( 'country'=>$country, 'state'=>$state);
+ }
+ }
+
+}
+
+sub _add_locale {
+ my $cust_main_county = new FS::cust_main_county( { 'tax'=>0, @_ });
+ my $error = $cust_main_county->insert;
+ die $error if $error;
+}
+
sub populate_initial_data {
my %opt = @_;
#tie my %hash, 'Tie::DxHash',
tie my %hash, 'Tie::IxHash',
+ #superuser group
+ 'access_group' => [
+ { 'groupname' => 'Superuser' },
+ ],
+
#billing events
'part_bill_event' => [
{ 'payby' => 'CARD',
'event' => 'Batch card',
'seconds' => 0,
- 'eventcode' => '$cust_bill->batch_card();',
+ 'eventcode' => '$cust_bill->batch_card(%options);',
'weight' => 40,
'plan' => 'batch-card',
},
'weight' => 50,
'plan' => 'send',
},
+ { 'payby' => 'DCLN',
+ 'event' => 'Suspend',
+ 'seconds' => 0,
+ 'eventcode' => '$cust_bill->suspend();',
+ 'weight' => 40,
+ 'plan' => 'suspend',
+ },
+ #{ 'payby' => 'DCLN',
+ # 'event' => 'Retriable',
+ # 'seconds' => 0,
+ # 'eventcode' => '$cust_bill_event->retriable();',
+ # 'weight' => 60,
+ # 'plan' => 'retriable',
+ #},
],
#you must create a service definition. An example of a service definition
}
+sub populate_access {
+
+ use FS::AccessRight;
+ use FS::access_right;
+
+ foreach my $rightname ( FS::AccessRight->rights ) {
+ my $access_right = new FS::access_right {
+ 'righttype' => 'FS::access_group',
+ 'rightobjnum' => 1, #$supergroup->groupnum,
+ 'rightname' => $rightname,
+ };
+ my $ar_error = $access_right->insert;
+ die $ar_error if $ar_error;
+ }
+
+ #foreach my $agent ( qsearch('agent', {} ) ) {
+ my $access_groupagent = new FS::access_groupagent {
+ 'groupnum' => 1, #$supergroup->groupnum,
+ 'agentnum' => 1, #$agent->agentnum,
+ };
+ my $aga_error = $access_groupagent->insert;
+ die $aga_error if $aga_error;
+ #}
+
+}
+
sub populate_msgcat {
use FS::Record qw(qsearch);