diff options
author | Ivan Kohler <ivan@freeside.biz> | 2017-03-21 14:12:37 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2017-03-21 14:12:37 -0700 |
commit | 8410cdd0df8c470b0d804be5e03539303f2a8079 (patch) | |
tree | be8b55c23ca7af10d0e72594cad49c35574aafba | |
parent | b391b1ce982eb659dcba167dc1c3a883dd437325 (diff) |
fix self-service contact logins, RT#74798
-rw-r--r-- | FS/FS/contact.pm | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/FS/FS/contact.pm b/FS/FS/contact.pm index c462e55f3..a873fda47 100644 --- a/FS/FS/contact.pm +++ b/FS/FS/contact.pm @@ -766,8 +766,13 @@ sub by_selfservice_email { 'table' => 'contact_email', 'addl_from' => ' LEFT JOIN contact USING ( contactnum ) ', 'hashref' => { 'emailaddress' => $email, }, - 'extra_sql' => " AND ( contact.disabled IS NULL ) ". - " AND ( contact.selfservice_access = 'Y' )", + 'extra_sql' => " + AND ( contact.disabled IS NULL ) + AND EXISTS ( SELECT 1 FROM cust_contact + WHERE contact.contactnum = cust_contact.contactnum + AND cust_contact.selfservice_access = 'Y' + ) + ", }) or return ''; $contact_email->contact; |