From e52c755594893c7998def6b930e715bf19021ff5 Mon Sep 17 00:00:00 2001 From: Jonathan Prykop Date: Thu, 29 Jan 2015 20:38:23 -0600 Subject: [PATCH] RT#15413 (Duplicate rating prefixes) --- httemplate/browse/rate_region.html | 2 +- httemplate/edit/process/rate_region.cgi | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/httemplate/browse/rate_region.html b/httemplate/browse/rate_region.html index 962841d91..bbe213693 100644 --- a/httemplate/browse/rate_region.html +++ b/httemplate/browse/rate_region.html @@ -40,7 +40,7 @@ if ( driver_name =~ /^Pg/ ) { " THEN npa ". " ELSE npa || '-' || nxx ". " END"; - my $prefixes_sql = "SELECT $prefix_sql $fromwhere AND npa IS NOT NULL"; + my $prefixes_sql = "SELECT $prefix_sql $fromwhere AND npa IS NOT NULL ORDER BY npa"; $select .= "( SELECT '+'||countrycode $fromwhere LIMIT 1 ) AS ccode, ARRAY_TO_STRING( ARRAY($prefixes_sql), ', ' ) AS prefixes"; } elsif ( driver_name =~ /^mysql/i ) { diff --git a/httemplate/edit/process/rate_region.cgi b/httemplate/edit/process/rate_region.cgi index 87d634a62..1b271028d 100755 --- a/httemplate/edit/process/rate_region.cgi +++ b/httemplate/edit/process/rate_region.cgi @@ -25,6 +25,8 @@ my $new = new FS::rate_region ( { my $countrycode = $cgi->param('countrycode'); my @npa = split(/\s*,\s*/, $cgi->param('npa')); +my %npa = map { $_, 1 } @npa; #removing duplicates +@npa = sort keys %npa; $npa[0] = '' unless @npa; my @rate_prefix = map { #my($npa,$nxx) = split('-', $_); -- 2.11.0