X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcontact.pm;h=a873fda472d854e0d4b5ac185a1901af3923eb43;hb=5a79ce5e0334e78a1e49798e3d98700bcf309419;hp=fd3e9d770dd8a4ac171fdf5784d7f5062b27f091;hpb=1aecd5bf33146bf3f374341a3814960ae1d419e8;p=freeside.git diff --git a/FS/FS/contact.pm b/FS/FS/contact.pm index fd3e9d770..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; @@ -867,7 +872,10 @@ sub send_reset_email { 'svcnum' => $opt{'svcnum'}, }; - my $timeout = '24 hours'; #? + + my $conf = new FS::Conf; + my $timeout = + ($conf->config('selfservice-password_reset_hours') || 24 ). ' hours'; my $reset_session_id; do { @@ -879,8 +887,6 @@ sub send_reset_email { #email it - my $conf = new FS::Conf; - my $cust_main = ''; my @cust_contact = grep $_->selfservice_access, $self->cust_contact; $cust_main = $cust_contact[0]->cust_main if scalar(@cust_contact) == 1;