summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2017-03-21 14:12:39 -0700
committerIvan Kohler <ivan@freeside.biz>2017-03-21 14:12:39 -0700
commit38531b29823302833ef014eccab5a2949f5e7163 (patch)
tree35d421bea55f29d8e57cdb055b6803a66a772e20
parente4e8c87df94c2d12514b22f6fd677c602ebb13ab (diff)
fix self-service contact logins, RT#74798
-rw-r--r--FS/FS/contact.pm9
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;