From 9563db0dff9459dbbffe131a667054a20962e016 Mon Sep 17 00:00:00 2001 From: Seamus Lee Date: Fri, 3 Jan 2020 09:07:22 +1100 Subject: [PATCH] [REF] Move the storing of custom data into the add function rather than in the create function so it is processed before the post hook --- CRM/Member/BAO/Membership.php | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/CRM/Member/BAO/Membership.php b/CRM/Member/BAO/Membership.php index dfa6f1716e..bee3737d40 100644 --- a/CRM/Member/BAO/Membership.php +++ b/CRM/Member/BAO/Membership.php @@ -138,6 +138,13 @@ class CRM_Member_BAO_Membership extends CRM_Member_DAO_Membership { if (!empty($params['is_for_organization'])) { $targetContactID = CRM_Utils_Array::value('userId', $ids); } + + // add custom field values + if (!empty($params['custom']) && is_array($params['custom']) + ) { + CRM_Core_BAO_CustomValueTable::store($params['custom'], 'civicrm_membership', $membership->id); + } + if ($id) { if ($membership->status_id != $oldStatus) { CRM_Activity_BAO_Activity::addActivity($membership, @@ -307,12 +314,6 @@ class CRM_Member_BAO_Membership extends CRM_Member_DAO_Membership { return $membership; } - // add custom field values - if (!empty($params['custom']) && is_array($params['custom']) - ) { - CRM_Core_BAO_CustomValueTable::store($params['custom'], 'civicrm_membership', $membership->id); - } - $params['membership_id'] = $membership->id; // @todo further cleanup required to remove use of $ids['contribution'] from here if (isset($ids['membership'])) { -- 2.25.1