self-service delete_contact, RT#37375
[freeside.git] / FS / FS / ClientAPI / MyAccount / contact.pm
index a586033..bb86ae0 100644 (file)
@@ -3,7 +3,6 @@ package FS::ClientAPI::MyAccount::contact;
 use strict;
 use FS::Record qw( qsearchs );
 use FS::cust_main;
-use FS::cust_contact;
 use FS::contact;
 
 sub _custoragent_session_custnum {
@@ -119,6 +118,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 $contact = qsearchs('contact', { contactnum =>$ p->{contactnum},
                                       custnum    => $custnum,         } )
     or return { 'error' => 'Unknown contactnum' };