[freeside-commits] branch FREESIDE_4_BRANCH updated. bcbb8c9845809251bf56e2b12aa59b1019219bb4

Ivan ivan at 420.am
Tue Jul 21 11:05:27 PDT 2015


The branch, FREESIDE_4_BRANCH has been updated
       via  bcbb8c9845809251bf56e2b12aa59b1019219bb4 (commit)
      from  563af91caff09369dc8c042f9e24cc542b010232 (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 bcbb8c9845809251bf56e2b12aa59b1019219bb4
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Tue Jul 21 11:05:25 2015 -0700

    self-service delete_contact, RT#37375

diff --git a/FS/FS/ClientAPI/MyAccount/contact.pm b/FS/FS/ClientAPI/MyAccount/contact.pm
index 30316c7..099da29 100644
--- a/FS/FS/ClientAPI/MyAccount/contact.pm
+++ b/FS/FS/ClientAPI/MyAccount/contact.pm
@@ -129,7 +129,11 @@ sub delete_contact {
   my($context, $session, $custnum) = _custoragent_session_custnum($p);
   return { 'error' => $session } if $context eq 'error';
 
-  my $cust_contact = qsearchs('cust_contact', { contactnum=>$p->{contactnum} } )
+  return { 'error' => 'Cannot delete the currently-logged in contact.' }
+    if $p->{contactnum} == $session->{contactnum};
+
+  my $cust_contact = qsearchs('cust_contact', { contactnum => $p->{contactnum},
+                                                custnum    => $custnum,       })
     or return { 'error' => 'Unknown contactnum' };
 
   my $contact = $cust_contact->contact;
diff --git a/fs_selfservice/FS-SelfService/SelfService.pm b/fs_selfservice/FS-SelfService/SelfService.pm
index 0b65417..1978a88 100644
--- a/fs_selfservice/FS-SelfService/SelfService.pm
+++ b/fs_selfservice/FS-SelfService/SelfService.pm
@@ -1377,7 +1377,7 @@ error message, or empty on success.
 =item edit_contact
 
 Updates information for the currently-logged in contact, or (optionally) the
-specified contact
+specified contact.
 
 Takes a hash reference as parameter with the following keys:
 
@@ -1402,6 +1402,22 @@ error message, or empty on success.
 
 =item delete_contact
 
+Deletes a contact.  (Note: Cannot at this time delete the currently-logged in
+contact.)
+
+Takes a hash reference as parameter with the following keys:
+
+=over 4
+
+=item session_id
+
+=item contactnum
+
+=back
+
+Returns a hash reference with a single parameter, B<error>, which contains an
+error message, or empty on success.
+
 =head2 "MY ACCOUNT" QUOTATION FUNCTIONS
 
 All of these functions require the user to be logged in, and the 'session_id'

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

Summary of changes:
 FS/FS/ClientAPI/MyAccount/contact.pm         |    6 +++++-
 fs_selfservice/FS-SelfService/SelfService.pm |   18 +++++++++++++++++-
 2 files changed, 22 insertions(+), 2 deletions(-)




More information about the freeside-commits mailing list