=item regionnum - primary key
-=item regionname
+=item regionname - name of the region
+
+=item exact_match - 'Y' if "prefixes" in this region really represent
+complete phone numbers. Null if they represent prefixes (the usual case).
=back
my $error =
$self->ut_numbern('regionnum')
|| $self->ut_text('regionname')
+ || $self->ut_flag('exact_match')
;
return $error if $error;
sub rate_prefix {
my $self = shift;
+ map { $_ } #return $self->num_rate_prefix unless wantarray;
sort { $a->countrycode cmp $b->countrycode
or $a->npa cmp $b->npa
or $a->nxx cmp $b->nxx
sub dest_detail {
my $self = shift;
- qsearch( 'rate_detail', { 'dest_regionnum' => $self->regionnum, } );
+ qsearch( 'rate_detail', { 'dest_regionnum' => $self->regionnum } );
}
=item 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 .= ', ';
+ }
+ $out =~ s/, $//;
+
+ $out;
+}
+
+sub prefixes_short_sql {
+ my $self = shift;
+
+ my $countrycode = '';
+ my $out = '';
+
+ foreach my $prefix (sort split(',', $self->prefixes)) {
+ my($cc, $npa) = split(' ', $prefix);
+
+ if ( $countrycode ne $cc ) {
+ $out =~ s/, $//;
+ $countrycode = $cc;
+ $out.= " +$countrycode ";
+ }
+ if ( $countrycode eq '1' ) {
+ #$out .= '('. substr( $npa, 0, 3 ). ')';
+ $out .= substr( $npa, 0, 3 );
+ $out .= ' '. substr( $npa, 3 ) if length($npa) > 3;
+ } else {
+ $out .= $npa;
+ }
+#XXX have to implement this here too if we ever actually used the nxx field
+# $out .= '-'. $rate_prefix->nxx if $rate_prefix->nxx;
$out .= ', ';
}
$out =~ s/, $//;