diff options
author | ivan <ivan> | 2009-07-07 09:23:20 +0000 |
---|---|---|
committer | ivan <ivan> | 2009-07-07 09:23:20 +0000 |
commit | 75c3b711d30e566d4ec8dd8d8ed90926b22d4b15 (patch) | |
tree | 74662a2412953ac02deafa5363bb0bdf43a2dbb5 /FS/FS/svc_broadband.pm | |
parent | 1350cca5dd7297a37fea8417a51d6a435635e32e (diff) |
allow null svc_broadband.ip_addr
Diffstat (limited to 'FS/FS/svc_broadband.pm')
-rwxr-xr-x | FS/FS/svc_broadband.pm | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/FS/FS/svc_broadband.pm b/FS/FS/svc_broadband.pm index 6007c70..74cedfc 100755 --- a/FS/FS/svc_broadband.pm +++ b/FS/FS/svc_broadband.pm @@ -246,7 +246,19 @@ sub check { } } + $error = $self->_check_ip_addr; + return $error if $error; + + $self->SUPER::check; +} + +sub _check_ip_addr { + my $self = shift; + if (not($self->ip_addr) or $self->ip_addr eq '0.0.0.0') { + + return '' if $conf->exists('svc_broadband-allow_null_ip_addr'); #&& !$self->blocknum + return "Must supply either address or block" unless $self->blocknum; my $next_addr = $self->addr_block->next_free_addr; @@ -255,6 +267,7 @@ sub check { } else { return "No free addresses in addr_block (blocknum: ".$self->blocknum.")"; } + } if (not($self->blocknum)) { @@ -288,7 +301,7 @@ sub check { return 'Router '.$router->routernum.' cannot provide svcpart '.$self->svcpart; } - $self->SUPER::check; + ''; } sub _check_duplicate { |