From a4fc91e0344d0a6511b4b47e0efac5d149e8ac16 Mon Sep 17 00:00:00 2001 From: Matthew Wire Date: Mon, 10 May 2021 17:43:35 +0100 Subject: [PATCH] Fix delete customgroup using API4 so it removes data table --- CRM/Core/BAO/CustomGroup.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/CRM/Core/BAO/CustomGroup.php b/CRM/Core/BAO/CustomGroup.php index 8f0fea3495..568e92a633 100644 --- a/CRM/Core/BAO/CustomGroup.php +++ b/CRM/Core/BAO/CustomGroup.php @@ -1250,6 +1250,23 @@ ORDER BY civicrm_custom_group.weight, return TRUE; } + /** + * Delete a record from supplied params. + * API3 calls deleteGroup() which removes the related civicrm_value_X table. + * This function does the same for API4. + * + * @param array $record + * 'id' is required. + * @return CRM_Core_DAO + * @throws CRM_Core_Exception + */ + public static function deleteRecord(array $record) { + $table = CRM_Core_DAO::getFieldValue(__CLASS__, $record['id'], 'table_name'); + $result = parent::deleteRecord($record); + CRM_Core_BAO_SchemaHandler::dropTable($table); + return $result; + } + /** * Set defaults. * -- 2.25.1