diff options
author | ivan <ivan> | 2010-11-08 22:04:52 +0000 |
---|---|---|
committer | ivan <ivan> | 2010-11-08 22:04:52 +0000 |
commit | 967b1c01527201e63b988f6aeea8021a7d18f421 (patch) | |
tree | fca92f954150747fc90d2481273183a9af54ad0b /FS/FS/phone_avail.pm | |
parent | 6d14d1fd9ddd1be4b13c05d44bb91bb8fcae519b (diff) |
return phone numbers to inventory when unprovisioned, RT#10520
Diffstat (limited to 'FS/FS/phone_avail.pm')
-rw-r--r-- | FS/FS/phone_avail.pm | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/FS/FS/phone_avail.pm b/FS/FS/phone_avail.pm index 55b44ec..f05f05b 100644 --- a/FS/FS/phone_avail.pm +++ b/FS/FS/phone_avail.pm @@ -1,11 +1,14 @@ package FS::phone_avail; use strict; -use vars qw( @ISA ); +use vars qw( @ISA $DEBUG $me ); use FS::Record qw( qsearch qsearchs ); @ISA = qw(FS::Record); +$me = '[FS::phone_avail]'; +$DEBUG = 0; + =head1 NAME FS::phone_avail - Phone number availability cache @@ -170,6 +173,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 |