diff options
author | Ivan Kohler <ivan@freeside.biz> | 2013-11-19 21:56:44 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2013-11-19 21:56:44 -0800 |
commit | c9c9577203f43da9b851132c9c120bdf3de1fa47 (patch) | |
tree | cd54f0c478f6a551e77a70547850c0be4ed5e911 | |
parent | d0166fb1f52865916575ac6aa0eb043d792fe18b (diff) |
prohibit self-service changing of suspended services passwords, RT#26140
-rw-r--r-- | FS/FS/ClientAPI/passwd.pm | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/FS/FS/ClientAPI/passwd.pm b/FS/FS/ClientAPI/passwd.pm index b22d7617e..8001e4f2d 100644 --- a/FS/FS/ClientAPI/passwd.pm +++ b/FS/FS/ClientAPI/passwd.pm @@ -23,6 +23,11 @@ sub passwd { 'domsvc' => $svc_domain->svcnum, } ); return { error => 'User not found.' } unless $svc_acct; + + my $cust_pkg = $svc_acct->cust_svc->cust_pkg; + return { error => "Can't change password for a suspended service" } + if $cust_pkg && $cust_pkg->status eq 'suspended'; + return { error => 'Incorrect password.' } unless $svc_acct->check_password($old_password); |