summaryrefslogtreecommitdiff
path: root/FS/FS/svc_phone.pm
diff options
context:
space:
mode:
authorivan <ivan>2010-11-08 22:04:52 +0000
committerivan <ivan>2010-11-08 22:04:52 +0000
commit967b1c01527201e63b988f6aeea8021a7d18f421 (patch)
treefca92f954150747fc90d2481273183a9af54ad0b /FS/FS/svc_phone.pm
parent6d14d1fd9ddd1be4b13c05d44bb91bb8fcae519b (diff)
return phone numbers to inventory when unprovisioned, RT#10520
Diffstat (limited to 'FS/FS/svc_phone.pm')
-rw-r--r--FS/FS/svc_phone.pm11
1 files changed, 11 insertions, 0 deletions
diff --git a/FS/FS/svc_phone.pm b/FS/FS/svc_phone.pm
index a599ea2..adf7a6c 100644
--- a/FS/FS/svc_phone.pm
+++ b/FS/FS/svc_phone.pm
@@ -13,6 +13,7 @@ use FS::phone_device;
use FS::svc_pbx;
use FS::svc_domain;
use FS::cust_location;
+use FS::phone_avail;
$me = '[' . __PACKAGE__ . ']';
$DEBUG = 0;
@@ -262,6 +263,16 @@ sub delete {
}
}
+ my @phone_avail = qsearch('phone_avail', { 'svcnum' => $self->svcnum } );
+ foreach my $phone_avail ( @phone_avail ) {
+ $phone_avail->svcnum('');
+ my $error = $phone_avail->replace;
+ if ( $error ) {
+ $dbh->rollback if $oldAutoCommit;
+ return $error;
+ }
+ }
+
my $error = $self->SUPER::delete;
if ( $error ) {
$dbh->rollback if $oldAutoCommit;