[freeside-commits] branch master updated. 6039b78ce0ef2c95674a81d047ace8048dd00695

Ivan ivan at 420.am
Mon Dec 30 15:52:09 PST 2013


The branch, master has been updated
       via  6039b78ce0ef2c95674a81d047ace8048dd00695 (commit)
      from  7b268e364a68b076e1f3bd3741159fb51759ee19 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 6039b78ce0ef2c95674a81d047ace8048dd00695
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Mon Dec 30 15:52:08 2013 -0800

    self-service access for contacts, RT#25533

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>

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/ClientAPI/MyAccount.pm                       |   11 ++++++++++-
 .../FS-SelfService/cgi/forgot_password.html        |    2 +-
 fs_selfservice/FS-SelfService/cgi/login.html       |    2 +-
 3 files changed, 12 insertions(+), 3 deletions(-)




More information about the freeside-commits mailing list