X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fsvc_Common.pm;h=3993d3d64aeb011032f427cc386c386a1441ef4f;hb=010c8080a423af31fe92082c271ad8b261450393;hp=0aea4559bb99193ec6e025b3ad5598f8d483ffc9;hpb=35b1ca7d644c773f4e0aebf6d8798c93f76a7cd8;p=freeside.git diff --git a/FS/FS/svc_Common.pm b/FS/FS/svc_Common.pm index 0aea4559b..3993d3d64 100644 --- a/FS/FS/svc_Common.pm +++ b/FS/FS/svc_Common.pm @@ -367,6 +367,7 @@ sub delete { || $self->SUPER::delete || $self->export('delete', @$export_args) || $self->return_inventory + || $self->release_router || $self->predelete_hook || $self->cust_svc->delete ; @@ -989,6 +990,24 @@ sub inventory_item { }); } +=item release_router + +Delete any routers associated with this service. This will release their +address blocks, also. + +=cut + +sub release_router { + my $self = shift; + my @routers = qsearch('router', { svcnum => $self->svcnum }); + foreach (@routers) { + my $error = $_->delete; + return "$error (removing router '".$_->routername."')" if $error; + } + ''; +} + + =item cust_svc Returns the cust_svc record associated with this svc_ record, as a FS::cust_svc