From 46d8f506c035f4d6cdd3675e7b5823bb165e0cd0 Mon Sep 17 00:00:00 2001 From: "Donald A. Lobo" Date: Mon, 18 Mar 2013 17:46:53 -0700 Subject: [PATCH] CRM-12147 --- CRM/Member/BAO/Membership.php | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/CRM/Member/BAO/Membership.php b/CRM/Member/BAO/Membership.php index aea6fa00b2..bbf97f2ec4 100644 --- a/CRM/Member/BAO/Membership.php +++ b/CRM/Member/BAO/Membership.php @@ -583,7 +583,13 @@ INNER JOIN civicrm_membership_type type ON ( type.id = membership.membership_ty * @access public */ static function deleteMembership($membershipId) { - CRM_Utils_Hook::pre('delete', 'Membership', $membershipId, CRM_Core_DAO::$_nullArray); + // CRM-12147, retrieve membership data before we delete it for hooks + $params = array('id' => $membershipId); + $memValues = array(); + $memberships = self::getValues($params, $memValues); + $membership = $memberships[$membershipId]; + + CRM_Utils_Hook::pre('delete', 'Membership', $membershipId, $memValues); $transaction = new CRM_Core_Transaction(); @@ -593,7 +599,13 @@ INNER JOIN civicrm_membership_type type ON ( type.id = membership.membership_ty $params = array(); $deleteActivity = false; - $membershipActivities = array('Membership Signup', 'Membership Renewal', 'Change Membership Status', 'Change Membership Type', 'Membership Renewal Reminder'); + $membershipActivities = array( + 'Membership Signup', + 'Membership Renewal', + 'Change Membership Status', + 'Change Membership Type', + 'Membership Renewal Reminder' + ); foreach($membershipActivities as $membershipActivity) { $activityId = array_search($membershipActivity, $activityTypes); if ($activityId) { @@ -603,15 +615,10 @@ INNER JOIN civicrm_membership_type type ON ( type.id = membership.membership_ty } if ($deleteActivity) { $params['source_record_id'] = $membershipId; - CRM_Activity_BAO_Activity::deleteActivity($params); + CRM_Activity_BAO_Activity::deleteActivity($params); } self::deleteMembershipPayment($membershipId); - // CRM-12147, retrieve membership data before we delete it for hooks - $params = array('id' => $membershipId); - $memberships = self::getValues($params, $values); - $membership = $memberships[$membershipId]; - $results = $membership->delete(); $transaction->commit(); -- 2.25.1