more consistent prefix display, and don't forget nxx'
authorivan <ivan>
Tue, 19 Aug 2008 10:06:45 +0000 (10:06 +0000)
committerivan <ivan>
Tue, 19 Aug 2008 10:06:45 +0000 (10:06 +0000)
FS/FS/rate_region.pm
httemplate/browse/rate_region.html
httemplate/edit/rate_region.cgi

index df3951f..0e65223 100644 (file)
@@ -287,12 +287,13 @@ sub prefixes_short {
     }
     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/, $//;
index e144625..df3d2f0 100644 (file)
@@ -33,8 +33,13 @@ my $extra_sql = '';
 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,
index c58fc80..496e054 100644 (file)
@@ -29,7 +29,7 @@
       <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>