X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Frouter.pm;h=6fa44b4085e9bf144c2f20886b6320b5b7259ad6;hb=627b53dd54c81b8bf16bf4c6b53184a0b76011a8;hp=f66f2cee885a18084fe6945df82c21d48f82c1a2;hpb=87b88389a0b457d1ba8ca5655696939e1adf652c;p=freeside.git diff --git a/FS/FS/router.pm b/FS/FS/router.pm index f66f2cee8..6fa44b408 100755 --- a/FS/FS/router.pm +++ b/FS/FS/router.pm @@ -40,6 +40,10 @@ fields are currently supported: =item svcnum - svcnum of the owning FS::svc_broadband, if appropriate +=item manual_addr - set to 'Y' to allow services linked to this router +to have any IP address, rather than one in an address block belonging +to the router. + =back =head1 METHODS @@ -83,6 +87,7 @@ sub check { my $error = $self->ut_numbern('routernum') || $self->ut_text('routername') + || $self->ut_enum('manual_addr', [ '', 'Y' ]) || $self->ut_agentnum_acl('agentnum', 'Broadband global configuration') ; return $error if $error; @@ -128,6 +133,11 @@ sub delete { Returns a list of FS::addr_block objects (address blocks) associated with this object. +=item auto_addr_block + +Returns a list of address blocks on which auto-assignment of IP addresses +is enabled. + =cut sub addr_block { @@ -135,6 +145,13 @@ sub addr_block { return qsearch('addr_block', { routernum => $self->routernum }); } +sub auto_addr_block { + my $self = shift; + return () if $self->manual_addr; + return qsearch('addr_block', { routernum => $self->routernum, + manual_flag => '' }); +} + =item part_svc_router Returns a list of FS::part_svc_router objects associated with this