diff options
author | Mark Wells <mark@freeside.biz> | 2013-09-04 12:53:30 -0700 |
---|---|---|
committer | Mark Wells <mark@freeside.biz> | 2013-09-04 12:53:38 -0700 |
commit | 00de593a7e5b5b50aeec62c0ddb90db7bcd62f55 (patch) | |
tree | a600ff4184a41d22362c6b8cdfef7e1e47688b7d /FS/FS/svc_Common.pm | |
parent | 36ad5e538cb56de33c779e34baf9abdf63c4312e (diff) |
assign entire address blocks to services for RADIUS Framed-Route option, #20742
Diffstat (limited to 'FS/FS/svc_Common.pm')
-rw-r--r-- | FS/FS/svc_Common.pm | 19 |
1 files changed, 19 insertions, 0 deletions
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 |