X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2FClientAPI%2FMyAccount.pm;h=6caa19790c8423b07349540081cfe44328e66842;hp=f2cd488630eb6e56b21c8b9cee63b0e262eaf374;hb=a9060f5bf7ee105eb2f3bb379feb4dd3e59ee27a;hpb=edf90a3eb4219f72c8962ad86caacf409b896e8f diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm index f2cd48863..6caa19790 100644 --- a/FS/FS/ClientAPI/MyAccount.pm +++ b/FS/FS/ClientAPI/MyAccount.pm @@ -61,6 +61,11 @@ sub login { ); 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'}); @@ -75,12 +80,6 @@ sub login { $session->{'custnum'} = $cust_main->custnum; } - 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 ne 'Y' ); - my $session_id; do { $session_id = md5_hex(md5_hex(time(). {}. rand(). $$))