From defe2873452a226747ecc0be91b5eec07577f0c6 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 10 Oct 2014 11:37:27 +0100 Subject: [PATCH] updation, deletion and recreation of recurring list --- CRM/Core/BAO/RecurringEntity.php | 4 ++-- CRM/Core/Form/RecurringEntity.php | 22 ++++++++++++++-------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/CRM/Core/BAO/RecurringEntity.php b/CRM/Core/BAO/RecurringEntity.php index e06e07f18d..fe659be400 100644 --- a/CRM/Core/BAO/RecurringEntity.php +++ b/CRM/Core/BAO/RecurringEntity.php @@ -58,12 +58,12 @@ class CRM_Core_BAO_RecurringEntity extends CRM_Core_DAO_RecurringEntity { array( 'civicrm_event' => array( 'helper_class' => 'CRM_Event_DAO_Event', - 'delete_func' => 'CRM_Event_BAO_Event::del', + 'delete_func' => 'delete', 'pre_delete_func' => 'CRM_Event_Form_ManageEvent_Repeat::checkRegistrationForEvents' ), 'civicrm_activity' => array( 'helper_class' => 'CRM_Activity_DAO_Activity', - 'delete_func' => 'CRM_Activity_BAO_Activity::deleteActivity', + 'delete_func' => 'delete', 'pre_delete_func' => '' ) ); diff --git a/CRM/Core/Form/RecurringEntity.php b/CRM/Core/Form/RecurringEntity.php index 52fe7b6742..e59f77dc81 100644 --- a/CRM/Core/Form/RecurringEntity.php +++ b/CRM/Core/Form/RecurringEntity.php @@ -374,19 +374,25 @@ class CRM_Core_Form_RecurringEntity { //Check if pre delete function has some ids to be deleted if (!empty(CRM_Core_BAO_RecurringEntity::$_entitiesToBeDeleted)) { foreach (CRM_Core_BAO_RecurringEntity::$_entitiesToBeDeleted as $value) { - call_user_func(array( - CRM_Core_BAO_RecurringEntity::$_recurringEntityHelper[$params['entity_table']]['helper_class'], - call_user_func_array(CRM_Core_BAO_RecurringEntity::$_recurringEntityHelper[$params['entity_table']]['delete_func'], array($value))) - ); + $result = civicrm_api3(ucfirst(strtolower($type)), CRM_Core_BAO_RecurringEntity::$_recurringEntityHelper[$params['entity_table']]['delete_func'], array( + 'sequential' => 1, + 'id' => $value, + )); + if ($result['error']) { + CRM_Core_Error::statusBounce('Error creating recurring list'); + } } } else { $getRelatedEntities = CRM_Core_BAO_RecurringEntity::getEntitiesFor($params['entity_id'], $params['entity_table'], FALSE); foreach ($getRelatedEntities as $key => $value) { - call_user_func(array( - CRM_Core_BAO_RecurringEntity::$_recurringEntityHelper[$params['entity_table']]['helper_class'], - call_user_func_array(CRM_Core_BAO_RecurringEntity::$_recurringEntityHelper[$params['entity_table']]['delete_func'], array(array('id' => $value['id'])))) - ); + $result = civicrm_api3(ucfirst(strtolower($type)), CRM_Core_BAO_RecurringEntity::$_recurringEntityHelper[$params['entity_table']]['delete_func'], array( + 'sequential' => 1, + 'id' => $value['id'], + )); + if ($result['error']) { + CRM_Core_Error::statusBounce('Error creating recurring list'); + } } } } -- 2.25.1