diff options
author | Ivan Kohler <ivan@freeside.biz> | 2017-06-28 17:24:56 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2017-06-28 17:24:56 -0700 |
commit | 70cc4f4c76ea1e320f2d6d4cccc0f056bf2af537 (patch) | |
tree | 99d033200de6739f4d0acd457c0340811addee44 | |
parent | 761f4f377b1c5d5f92d5fbcefc3e7ea98d8ebec7 (diff) |
fix country code browser on subsequent selections and add country name
-rw-r--r-- | FS/FS/Mason.pm | 1 | ||||
-rw-r--r-- | httemplate/browse/rate_region.html | 23 |
2 files changed, 21 insertions, 3 deletions
diff --git a/FS/FS/Mason.pm b/FS/FS/Mason.pm index bdae3938c..60e377953 100644 --- a/FS/FS/Mason.pm +++ b/FS/FS/Mason.pm @@ -123,6 +123,7 @@ if ( -e $addl_handler_use_file ) { use HTML::Widgets::SelectLayers 0.07; #should go away in favor of #selectlayers.html use Locale::Country; + use Number::Phone::Country qw( noexport ); use Business::US::USPS::WebTools::AddressStandardization; use Geo::GoogleEarth::Pluggable; use LWP::UserAgent; diff --git a/httemplate/browse/rate_region.html b/httemplate/browse/rate_region.html index bbe213693..b872455ae 100644 --- a/httemplate/browse/rate_region.html +++ b/httemplate/browse/rate_region.html @@ -74,10 +74,9 @@ my @links = ( ($link) x 4 ); my @align = ( 'right', 'left', 'right', 'left' ); my @xls_format = ( ({ locked=>1, bg_color=>22 }) x 4 ); -$cgi->param('dummy', 1); my $countrycode_filter_change = "window.location = '". - $cgi->self_url. ";countrycode=' + this.options[this.selectedIndex].value;"; + $cgi->url. "?countrycode=' + this.options[this.selectedIndex].value;"; my $countrycode = ''; my $extra_sql = $group_sql; @@ -128,13 +127,31 @@ if ( $cgi->param('show_rates') ) { } +sub countrycode2country { + my $cc = shift; + + #exceptions to the below + return 'North America (NANPA)' if $cc eq '1'; + #return 'Algeria' if $cc eq '214'; + return 'Ascension Island' if $cc eq '247'; + return 'Satellite / Maritime / Universal Personal' if $cc eq '87'; #? or 870.. + return 'Inmarsat' if $cc eq '870'; + return 'Global Mobile Satellite System' if $cc eq '881'; + return 'International Networks' if $cc eq '882'; + return 'International Networks' if $cc eq '883'; + + code2country( + Number::Phone::Country::phone2country("+$cc") + ); +} + my $html_posttotal = '(show country code: '. qq(<SELECT NAME="countrycode" onChange="$countrycode_filter_change">). qq(<OPTION VALUE="">(all)). join("\n", map { qq(<OPTION VALUE="$_"). ($_ eq $countrycode ? ' SELECTED' : '' ). - ">$_", + ">+$_ - ". encode_entities( countrycode2country($_) ), } FS::rate_prefix->all_countrycodes ). |