summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2014-08-12 13:46:44 -0700
committerMark Wells <mark@freeside.biz>2014-08-12 13:46:44 -0700
commit7ff3a40dfb8e6d5cc15e87346f447b1d6806e39c (patch)
treefe5ce244d12596621c9f4cd910190419479e18b0
parent898373c17b6489ab1971bccc692323aa52b8900e (diff)
fix router/block unlinking, #29829, from #20742
-rwxr-xr-xFS/FS/router.pm2
-rwxr-xr-xhttemplate/edit/process/svc_acct.cgi6
2 files changed, 6 insertions, 2 deletions
diff --git a/FS/FS/router.pm b/FS/FS/router.pm
index 21011e7..4011bb0 100755
--- a/FS/FS/router.pm
+++ b/FS/FS/router.pm
@@ -114,7 +114,7 @@ sub replace {
my $error = $self->SUPER::replace($old, @_);
return $error if $error;
- if ( defined($self->blocknum) ) {
+ if ( length($self->blocknum) ) {
#warn "FS::router::replace: blocknum = ".$self->blocknum."\n";
# then release any blocks we're already holding
foreach my $block ($self->addr_block) {
diff --git a/httemplate/edit/process/svc_acct.cgi b/httemplate/edit/process/svc_acct.cgi
index ca614cb..9cac2c5 100755
--- a/httemplate/edit/process/svc_acct.cgi
+++ b/httemplate/edit/process/svc_acct.cgi
@@ -102,10 +102,14 @@ if ( ! $error ) {
map { $_ => $cgi->param("router_$_") }
qw( routernum routername blocknum )
});
- if (length($router->routername == 0)) {
+ if (length($router->routername) == 0) {
#sensible default
$router->set('routername', $new->label);
}
+ if (length($router->blocknum) == 0) {
+ #unset it
+ $router->set('blocknum', 0);
+ }
push @child_objects, $router;
}