summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2015-07-21 11:05:17 -0700
committerIvan Kohler <ivan@freeside.biz>2015-07-21 11:05:17 -0700
commitd83a8bf58a425da397472cc0549f98d906365dba (patch)
treeeb9e548287e9a5be83f718059ed3a844b44509be
parent7efd35e863da5de4bbfcad24ad73da7ec7385f62 (diff)
self-service delete_contact, RT#37375
-rw-r--r--FS/FS/ClientAPI/MyAccount/contact.pm3
-rw-r--r--fs_selfservice/FS-SelfService/SelfService.pm18
2 files changed, 20 insertions, 1 deletions
diff --git a/FS/FS/ClientAPI/MyAccount/contact.pm b/FS/FS/ClientAPI/MyAccount/contact.pm
index 72226e2dc..099da29e0 100644
--- a/FS/FS/ClientAPI/MyAccount/contact.pm
+++ b/FS/FS/ClientAPI/MyAccount/contact.pm
@@ -129,6 +129,9 @@ sub delete_contact {
my($context, $session, $custnum) = _custoragent_session_custnum($p);
return { 'error' => $session } if $context eq 'error';
+ 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' };
diff --git a/fs_selfservice/FS-SelfService/SelfService.pm b/fs_selfservice/FS-SelfService/SelfService.pm
index 0b65417ed..1978a8855 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'