X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Frate_region.pm;h=0a501a7857a47c01fc674d741df34cf46a823d6c;hp=d42fdb41edf4649dd58dd472a4225b63f58dd83c;hb=20f03d52cc6c930f610c0b4466eeeeda54fdbb40;hpb=3d0a1bb06b895c5be6e3f0517d355442a6b1e125 diff --git a/FS/FS/rate_region.pm b/FS/FS/rate_region.pm index d42fdb41e..0a501a785 100644 --- a/FS/FS/rate_region.pm +++ b/FS/FS/rate_region.pm @@ -1,13 +1,11 @@ package FS::rate_region; +use base qw(FS::Record); use strict; -use vars qw( @ISA ); use FS::Record qw( qsearch qsearchs dbh ); use FS::rate_prefix; use FS::rate_detail; -@ISA = qw(FS::Record); - =head1 NAME FS::rate_region - Object methods for rate_region records @@ -306,6 +304,36 @@ sub prefixes_short { $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/, $//; + + $out; +} + =back =head1 BUGS