X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fprocess%2Fsvc_acct.cgi;h=17a035cdb3c56c9f1a79d8484e4c19729eeaca89;hb=8c8872f684ccfa43dae290877c2cf8aed8828a9f;hp=ca614cbd8487866f8e605843571d6cbe5f2530f5;hpb=00de593a7e5b5b50aeec62c0ddb90db7bcd62f55;p=freeside.git diff --git a/httemplate/edit/process/svc_acct.cgi b/httemplate/edit/process/svc_acct.cgi index ca614cbd8..17a035cdb 100755 --- a/httemplate/edit/process/svc_acct.cgi +++ b/httemplate/edit/process/svc_acct.cgi @@ -81,7 +81,12 @@ if ( $cgi->param('clear_password') eq '*HIDDEN*' || $cgi->param('clear_password') =~ /^\(.* encrypted\)$/ ) { die "fatal: no previous account to recall hidden password from!" unless $old; } else { - $error ||= $new->set_password($cgi->param('clear_password')); + my $newpass = $cgi->param('clear_password'); + if ( !$old or ! $old->check_password($newpass) ) { + # then the password is being changed + $error ||= $new->is_password_allowed($newpass) + || $new->set_password($newpass); + } } if ( ! $error ) { @@ -102,10 +107,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; }