}
my $npa = $rate_prefix->npa;
if ( $countrycode eq '1' ) {
- $out .= '('. substr( $npa, 0, 3 ). ')';
+ #$out .= '('. substr( $npa, 0, 3 ). ')';
+ $out .= substr( $npa, 0, 3 );
$out .= ' '. substr( $npa, 3 ) if length($npa) > 3;
} else {
$out .= $rate_prefix->npa;
}
- $out .= ' '. $rate_prefix->nxx if $rate_prefix->nxx;
+ $out .= '-'. $rate_prefix->nxx if $rate_prefix->nxx;
$out .= ', ';
}
$out =~ s/, $//;
if ( driver_name =~ /^Pg/ ) {
my $fromwhere = 'FROM rate_prefix'.
' WHERE rate_prefix.regionnum = rate_region.regionnum';
+ my $prefix_sql = " CASE WHEN nxx IS NULL OR nxx = '' ".
+ " THEN npa ".
+ " ELSE npa || '-' || nxx ".
+ " END";
+ my $prefixes_sql = "SELECT $prefix_sql $fromwhere AND npa IS NOT NULL";
$select .= "( SELECT countrycode $fromwhere LIMIT 1 ) AS ccode,
- ARRAY_TO_STRING( ARRAY(SELECT npa $fromwhere AND npa IS NOT NULL), ',' ) AS prefixes";
+ ARRAY_TO_STRING( ARRAY($prefixes_sql), ',' ) AS prefixes";
} elsif ( driver_name =~ /^mysql/i ) {
$join = 'LEFT JOIN rate_prefix USING ( regionnum )';
$select .= "GROUP_CONCAT( DISTINCT countrycode ) AS ccode,
<BR><FONT SIZE="-1">(comma-separated)</FONT>
</TD>
<TD>
- <TEXTAREA NAME="npa" WRAP=SOFT><% join(', ', map $_->npa, @rate_prefix ) %></TEXTAREA>
+ <TEXTAREA NAME="npa" WRAP=SOFT><% join(', ', map { $_->npa. (length($_->nxx) ? '-'.$_->nxx : '') } @rate_prefix ) %></TEXTAREA>
</TD>
</TR>