X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FSetup.pm;h=55984d4c74f4c617d8b32fbbf48366b92b2e287d;hb=e478493f1b92afddfa5360cd7160a5d168ef370e;hp=90f6f10111d6e1857d33ab6e3a88b9ca60854cf6;hpb=6c375156081be5d2023001ed8eaac9b6db568e95;p=freeside.git diff --git a/FS/FS/Setup.pm b/FS/FS/Setup.pm index 90f6f1011..55984d4c7 100644 --- a/FS/FS/Setup.pm +++ b/FS/FS/Setup.pm @@ -61,47 +61,70 @@ sub create_initial_data { sub populate_locales { use Locale::Country; - use Locale::SubCountry; use FS::cust_main_county; #cust_main_county foreach my $country ( sort map uc($_), all_country_codes ) { + _add_country($country); + } + +} + +sub populate_addl_locales { + + my %addl = ( + 'US' => { + 'FM' => 'Federated States of Micronesia', + 'MH' => 'Marshall Islands', + 'PW' => 'Palau', + '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_country { + + use Locale::SubCountry; + + my( $country ) = shift; + + my $subcountry = eval { new Locale::SubCountry($country) }; + my @states = $subcountry ? $subcountry->all_codes : undef; - my $subcountry = eval { new Locale::SubCountry($country) }; - 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; - - } else { - - if ( $states[0] =~ /^(\d+|\w)$/ ) { - @states = map $subcountry->full_name($_), @states - } + if ( !scalar(@states) || ( scalar(@states)==1 && !defined($states[0]) ) ) { + + _add_locale( 'country'=>$country ); - foreach my $state ( @states ) { + } else { - 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; + if ( $states[0] =~ /^(\d+|\w)$/ ) { + @states = map $subcountry->full_name($_), @states + } - } - + foreach my $state ( @states ) { + _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 = @_; @@ -138,44 +161,52 @@ sub initial_data { { 'groupname' => 'Superuser' }, ], - #billing events - 'part_bill_event' => [ - { 'payby' => 'CARD', - 'event' => 'Batch card', - 'seconds' => 0, - 'eventcode' => '$cust_bill->batch_card();', - 'weight' => 40, - 'plan' => 'batch-card', - }, - { 'payby' => 'BILL', - 'event' => 'Send invoice', - 'seconds' => 0, - 'eventcode' => '$cust_bill->send();', - 'weight' => 50, - 'plan' => 'send', - }, - { 'payby' => 'DCRD', - 'event' => 'Send invoice', - 'seconds' => 0, - 'eventcode' => '$cust_bill->send();', - 'weight' => 50, - 'plan' => 'send', - }, - { 'payby' => 'DCHK', - 'event' => 'Send invoice', - 'seconds' => 0, - 'eventcode' => '$cust_bill->send();', - 'weight' => 50, - 'plan' => 'send', - }, - { 'payby' => 'DCLN', - 'event' => 'Suspend', - 'seconds' => 0, - 'eventcode' => '$cust_bill->suspend();', - 'weight' => 40, - 'plan' => 'suspend', - }, - ], +#XXX need default new-style billing events +# #billing events +# 'part_bill_event' => [ +# { 'payby' => 'CARD', +# 'event' => 'Batch card', +# 'seconds' => 0, +# 'eventcode' => '$cust_bill->batch_card(%options);', +# 'weight' => 40, +# 'plan' => 'batch-card', +# }, +# { 'payby' => 'BILL', +# 'event' => 'Send invoice', +# 'seconds' => 0, +# 'eventcode' => '$cust_bill->send();', +# 'weight' => 50, +# 'plan' => 'send', +# }, +# { 'payby' => 'DCRD', +# 'event' => 'Send invoice', +# 'seconds' => 0, +# 'eventcode' => '$cust_bill->send();', +# 'weight' => 50, +# 'plan' => 'send', +# }, +# { 'payby' => 'DCHK', +# 'event' => 'Send invoice', +# 'seconds' => 0, +# 'eventcode' => '$cust_bill->send();', +# '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 #would be a dial-up account or a domain. First, it is necessary to create a @@ -445,6 +476,14 @@ sub msgcat_messages { 'en_US' => 'Title', }, + 'stateid' => { + 'en_US' => 'Driver\'s License', + }, + + 'stateid_state' => { + 'en_US' => 'Driver\'s License State', + }, + ); }