summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2013-12-30 15:52:09 -0800
committerIvan Kohler <ivan@freeside.biz>2013-12-30 15:52:09 -0800
commit25b1fc860d3e6f78df66638e7a26079c2498d8a6 (patch)
tree94c5b009b783f8f505fd33c16fac6389bc7f93b2
parent7785677b084c8d3d5b0aa61d1dff965ac28e2746 (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 8a0bbd4f0..54d53063d 100644
--- a/FS/FS/ClientAPI/MyAccount.pm
+++ b/FS/FS/ClientAPI/MyAccount.pm
@@ -2854,6 +2854,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,
@@ -2863,7 +2873,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 607151138..a1ce851ea 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 f7af4e9d8..9cee01d14 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>