summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2013-12-30 15:52:08 -0800
committerIvan Kohler <ivan@freeside.biz>2013-12-30 15:52:08 -0800
commit6039b78ce0ef2c95674a81d047ace8048dd00695 (patch)
tree1b83f9310ace3511c602215bbe91f39f9eb26483
parent7b268e364a68b076e1f3bd3741159fb51759ee19 (diff)
self-service access for contacts, RT#25533
-rw-r--r--FS/FS/ClientAPI/MyAccount.pm11
-rw-r--r--fs_selfservice/FS-SelfService/cgi/forgot_password.html2
-rw-r--r--fs_selfservice/FS-SelfService/cgi/login.html2
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>