X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fphone_avail.pm;h=ae8526c3d2a60300c2f998cf80e1960cd510818b;hp=8403f504b502ec54247c525ce5b0dbfc08391dd1;hb=HEAD;hpb=c9019d74d5e5d27bd9dd55d9a3e104b85b99cb65 diff --git a/FS/FS/phone_avail.pm b/FS/FS/phone_avail.pm index 8403f504b..ae8526c3d 100644 --- a/FS/FS/phone_avail.pm +++ b/FS/FS/phone_avail.pm @@ -1,14 +1,12 @@ package FS::phone_avail; +use base qw( FS::cust_main_Mixin FS::Record ); use strict; -use vars qw( @ISA $DEBUG $me ); +use vars qw( $DEBUG $me ); +use FS::Misc::DateTime qw( parse_datetime ); use FS::Record qw( qsearch qsearchs dbh ); use FS::cust_svc; -use FS::Misc::DateTime qw( parse_datetime ); use FS::msa; -use Data::Dumper; - -@ISA = qw(FS::cust_main_Mixin FS::Record); $me = '[FS::phone_avail]'; $DEBUG = 0; @@ -176,24 +174,8 @@ sub cust_svc { =item part_export -=cut - -sub part_export { - my $self = shift; - return '' unless $self->exportnum; - qsearchs('part_export', { 'exportnum' => $self->exportnum }); -} - =item lata -=cut - -sub lata { - my $self = shift; - return '' unless $self->latanum; - qsearchs('lata', { 'latanum' => $self->latanum }); -} - =item msa2msanum Translate free-form MSA name to a msa.msanum @@ -203,6 +185,11 @@ Translate free-form MSA name to a msa.msanum sub msa2msanum { my $self = shift; my $msa = shift; + + if ( $msa =~ /(.+[^,])\s+(\w{2}(-\w{2})*)$/ ) { + $msa = "$1, $2"; + } + my @msas = qsearch('msa', { 'description' => { 'op' => 'ILIKE', 'value' => "%$msa%", } }); @@ -215,6 +202,12 @@ sub msa2msanum { sub msatest { my $self = shift; my ($their,$our) = (shift,shift); + + $their =~ s/^\s+//; + $their =~ s/\s+$//; + $their =~ s/\s+/ /g; + return 1 if $our eq $their; + my $a = $our; $a =~ s/,.*?$//; return 1 if $a eq $their; @@ -290,8 +283,8 @@ sub _upgrade_data { my $sth = dbh->prepare( 'UPDATE phone_avail SET svcnum = NULL WHERE svcnum IS NOT NULL - AND 0 = ( SELECT COUNT(*) FROM svc_phone - WHERE phone_avail.svcnum = svc_phone.svcnum )' + AND NOT EXISTS ( SELECT 1 FROM svc_phone + WHERE phone_avail.svcnum = svc_phone.svcnum )' ) or die dbh->errstr; $sth->execute or die $sth->errstr;