From: Jonathan Prykop Date: Fri, 30 Jan 2015 02:38:23 +0000 (-0600) Subject: RT#15413 (Duplicate rating prefixes) X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=e52c755594893c7998def6b930e715bf19021ff5 RT#15413 (Duplicate rating prefixes) --- 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('-', $_);