X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FSetup.pm;h=4864cfea894320ed9dc551e0180e0575d794aff9;hb=2ad0e0e11a03687ffa22da4750c831933bc6268b;hp=c92ea41daefb29dbf8361dad834e7a5802914c24;hpb=22c70177969f30e2e419b32cb5d475c143f10b12;p=freeside.git diff --git a/FS/FS/Setup.pm b/FS/FS/Setup.pm index c92ea41da..4864cfea8 100644 --- a/FS/FS/Setup.pm +++ b/FS/FS/Setup.pm @@ -61,30 +61,11 @@ 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 ) { - - my $subcountry = eval { new Locale::SubCountry($country) }; - my @states = $subcountry ? $subcountry->all_codes : undef; - - if ( !scalar(@states) || ( scalar(@states)==1 && !defined($states[0]) ) ) { - - _add_locale( 'country'=>$country ); - - } else { - - if ( $states[0] =~ /^(\d+|\w)$/ ) { - @states = map $subcountry->full_name($_), @states - } - - foreach my $state ( @states ) { - _add_locale( 'country'=>$country, 'state'=>$state); - } - - } + _add_country($country); } } @@ -94,8 +75,8 @@ sub populate_addl_locales { my %addl = ( 'US' => { 'FM' => 'Federated States of Micronesia', - 'MH' => 'Federated States of Micronesia', - 'PW' => '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", @@ -111,6 +92,33 @@ sub populate_addl_locales { } +sub _add_country { + + use Locale::SubCountry; + + my( $country ) = shift; + + my $subcountry = eval { new Locale::SubCountry($country) }; + my @states = $subcountry ? $subcountry->all_codes : undef; + + if ( !scalar(@states) || ( scalar(@states)==1 && !defined($states[0]) ) ) { + + _add_locale( 'country'=>$country ); + + } else { + + 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;