field name is primary_svc, not primary
[freeside.git] / FS / FS / ClientAPI / MyAccount.pm
index 271d0c2..6caa197 100644 (file)
@@ -60,6 +60,13 @@ sub login {
                                          'domsvc'    => $svc_domain->svcnum, }
                          );
   return { error => 'User not found.' } unless $svc_acct;
+
+  my $conf = new FS::Conf;
+  my $pkg_svc = $svc_acct->cust_svc->pkg_svc;
+  return { error => 'Only primary user may log in.' } 
+    if $conf->exists('selfservice_server-primary_only')
+       && ( ! $pkg_svc || $pkg_svc->primary_svc ne 'Y' );
+
   return { error => 'Incorrect password.' }
     unless $svc_acct->check_password($p->{'password'});