fix TeleAPI import (what kind of crack was Christopher smoking that he couldn't fix...
[freeside.git] / FS / FS / ClientAPI / passwd.pm
index cb839ec..8001e4f 100644 (file)
@@ -5,13 +5,6 @@ use FS::Record qw(qsearchs);
 use FS::svc_acct;
 use FS::svc_domain;
 
-use FS::ClientAPI; #hmm
-FS::ClientAPI->register_handlers(
-  'passwd/passwd' => \&passwd,
-  'passwd/chfn' => \&chfn,
-  'passwd/chsh' => \&chsh,
-);
-
 sub passwd {
   my $packet = shift;
 
@@ -30,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);