From 55033e6079db51766db034631ad5e55816471400 Mon Sep 17 00:00:00 2001 From: Pratik Joshi Date: Thu, 30 May 2013 18:08:56 +0530 Subject: [PATCH] CRM-12726 : applied patch and did some modifications --- CRM/Contact/BAO/Contact.php | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/CRM/Contact/BAO/Contact.php b/CRM/Contact/BAO/Contact.php index 40e746088d..3ed2b24605 100644 --- a/CRM/Contact/BAO/Contact.php +++ b/CRM/Contact/BAO/Contact.php @@ -772,19 +772,31 @@ WHERE civicrm_contact.id = " . CRM_Utils_Type::escape($id, 'Integer'); $logDAO->entity_table = 'civicrm_contact'; $logDAO->entity_id = $id; $logDAO->delete(); - + // delete contact participants CRM-12155 CRM_Event_BAO_Participant::deleteContactParticipant($id); // delete contact contributions CRM-12155 CRM_Contribute_BAO_Contribution::deleteContactContribution($id); - + // do activity cleanup, CRM-5604 CRM_Activity_BAO_Activity::cleanupActivity($id); // delete all notes related to contact CRM_Core_BAO_Note::cleanContactNotes($id); + // delete cases related to contact + $contactCases = CRM_Case_BAO_Case::retrieveCaseIdsByContactId($id); + if (!empty($contactCases)) { + foreach($contactCases as $caseId){ + //check if case is associate with other contact or not. + $caseContactId = CRM_Case_BAO_Case::getCaseClients($caseId); + if(count($caseContactId) <= 1){ + CRM_Case_BAO_Case::deleteCase($caseId); + } + } + } + $contact->delete(); } else { -- 2.25.1