diff options
author | Ivan Kohler <ivan@freeside.biz> | 2017-03-21 14:12:39 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2017-03-21 14:12:39 -0700 |
commit | 38531b29823302833ef014eccab5a2949f5e7163 (patch) | |
tree | 35d421bea55f29d8e57cdb055b6803a66a772e20 | |
parent | e4e8c87df94c2d12514b22f6fd677c602ebb13ab (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 e49f6df77..9c83338a8 100644 --- a/FS/FS/contact.pm +++ b/FS/FS/contact.pm @@ -772,8 +772,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; |