diff options
author | Ivan Kohler <ivan@freeside.biz> | 2013-12-30 15:52:08 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2013-12-30 15:52:08 -0800 |
commit | 6039b78ce0ef2c95674a81d047ace8048dd00695 (patch) | |
tree | 1b83f9310ace3511c602215bbe91f39f9eb26483 | |
parent | 7b268e364a68b076e1f3bd3741159fb51759ee19 (diff) |
self-service access for contacts, RT#25533
-rw-r--r-- | FS/FS/ClientAPI/MyAccount.pm | 11 | ||||
-rw-r--r-- | fs_selfservice/FS-SelfService/cgi/forgot_password.html | 2 | ||||
-rw-r--r-- | fs_selfservice/FS-SelfService/cgi/login.html | 2 |
3 files changed, 12 insertions, 3 deletions
diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm index d17131f..d7914d6 100644 --- a/FS/FS/ClientAPI/MyAccount.pm +++ b/FS/FS/ClientAPI/MyAccount.pm @@ -2841,6 +2841,16 @@ sub myaccount_passwd { $svc_acct->set_password($p->{'new_password'}); $error ||= $svc_acct->replace(); + #regular pw change in self-service should change contact pw too, otherwise its + #way too confusing. hell its confusing they're separate at all, but alas. + #need to support the "ISP provides email that's used as a contact email" case + #as well as we can. + my $contact = FS::contact->by_selfservice_email($svc_acct->email); + if ( $contact && $contact->custnum == $custnum ) { + #svc_acct was successful but this one returns an error? "shouldn't happen" + $error ||= $contact->change_password($p->{'new_password'}); + } + my($label, $value) = $svc_acct->cust_svc->label; return { 'error' => $error, @@ -2850,7 +2860,6 @@ sub myaccount_passwd { } -#regular pw change in self-service should change contact pw too, otherwise its way too confusing. hell its confusing they're separate at all, but alas. need to support the "ISP provides email that's used as a contact email" case as well as we can. # sub contact_passwd { # my $p = shift; # my($context, $session, $custnum) = _custoragent_session_custnum($p); diff --git a/fs_selfservice/FS-SelfService/cgi/forgot_password.html b/fs_selfservice/FS-SelfService/cgi/forgot_password.html index 6071511..a1ce851 100644 --- a/fs_selfservice/FS-SelfService/cgi/forgot_password.html +++ b/fs_selfservice/FS-SelfService/cgi/forgot_password.html @@ -14,7 +14,7 @@ <INPUT TYPE="hidden" NAME="action" VALUE="do_forgot_password"> <INPUT TYPE="hidden" NAME="agentnum" VALUE="<%= $agentnum %>"> -Please enter your email address. A password reset email will be sent to that address. +Please enter your email address. A password reset email will be sent to that address.<BR><BR> <TABLE BGCOLOR="<%= $box_bgcolor || '#c0c0c0' %>" BORDER=0 CELLSPACING=2 CELLPADDING=0> diff --git a/fs_selfservice/FS-SelfService/cgi/login.html b/fs_selfservice/FS-SelfService/cgi/login.html index f7af4e9..9cee01d 100644 --- a/fs_selfservice/FS-SelfService/cgi/login.html +++ b/fs_selfservice/FS-SelfService/cgi/login.html @@ -47,7 +47,7 @@ if ( $single_domain ) { <TR> <TH ALIGN="right">Password </TH> <TD> - <INPUT TYPE="password" NAME="password"> + <INPUT TYPE="password" NAME="password"> <A HREF="<%= $selfurl %>?action=forgot_password">Forgot your password?</A> </TD> </TR> <TR> |