X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fphone_avail.pm;h=967d7179e4228fedd5e26452f0b4956aa961e024;hp=55b44eca7125c1fbb419e57981009c9e7db5e18e;hb=74e058c8a010ef6feb539248a550d0bb169c1e94;hpb=63a268637b2d51a8766412617724b9436439deb6 diff --git a/FS/FS/phone_avail.pm b/FS/FS/phone_avail.pm index 55b44eca7..967d7179e 100644 --- a/FS/FS/phone_avail.pm +++ b/FS/FS/phone_avail.pm @@ -1,10 +1,14 @@ package FS::phone_avail; use strict; -use vars qw( @ISA ); -use FS::Record qw( qsearch qsearchs ); +use vars qw( @ISA $DEBUG $me ); +use FS::Record qw( qsearch qsearchs dbh ); +use FS::cust_svc; -@ISA = qw(FS::Record); +@ISA = qw(FS::cust_main_Mixin FS::Record); + +$me = '[FS::phone_avail]'; +$DEBUG = 0; =head1 NAME @@ -148,6 +152,16 @@ sub check { $self->SUPER::check; } +=item cust_svc + +=cut + +sub cust_svc { + my $self = shift; + return '' unless $self->svcnum; + qsearchs('cust_svc', { 'svcnum' => $self->svcnum }); +} + sub process_batch_import { my $job = shift; @@ -170,6 +184,23 @@ sub process_batch_import { } +# Used by FS::Upgrade to migrate to a new database. +sub _upgrade_data { + my ($class, %opts) = @_; + + warn "$me upgrading $class\n" if $DEBUG; + + 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 )' + ) or die dbh->errstr; + + $sth->execute or die $sth->errstr; + +} + =back =head1 BUGS