From: eileen Date: Wed, 21 Oct 2020 05:43:15 +0000 (+1300) Subject: dev/membership#30 switch Membership import to use the v3 api X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=f3a5127d3039a8db08a5c097acf144164a72cb31;p=civicrm-core.git dev/membership#30 switch Membership import to use the v3 api ITturns out the addition of a unique name at some point caused is_override not to be passed in inn a way the BAO recognises - the api has handling for this... --- diff --git a/CRM/Member/Import/Parser/Membership.php b/CRM/Member/Import/Parser/Membership.php index 5acd0d7166..6c1deb8c26 100644 --- a/CRM/Member/Import/Parser/Membership.php +++ b/CRM/Member/Import/Parser/Membership.php @@ -308,9 +308,6 @@ class CRM_Member_Import_Parser_Membership extends CRM_Member_Import_Parser { $params[$key] = $this->parsePseudoConstantField($val, $this->fieldMetadata[$key]); break; - case 'member_is_override': - $params[$key] = CRM_Utils_String::strtobool($val); - break; } if ($customFieldID = CRM_Core_BAO_CustomField::getKeyID($key)) { if ($customFields[$customFieldID]['data_type'] == 'Date') { @@ -371,20 +368,9 @@ class CRM_Member_Import_Parser_Membership extends CRM_Member_Import_Parser { CRM_Price_BAO_LineItem::getLineItemArray($formatted, NULL, 'membership', $formatted['membership_type_id']); } - // @todo stop passing $ids array (and put details in $formatted if required) - $ids = [ - 'membership' => $formatValues['membership_id'], - 'userId' => $session->get('userID'), - ]; - $newMembership = CRM_Member_BAO_Membership::create($formatted, $ids, TRUE); - if (civicrm_error($newMembership)) { - array_unshift($values, $newMembership['is_error'] . ' for Membership ID ' . $formatValues['membership_id'] . '. Row was skipped.'); - return CRM_Import_Parser::ERROR; - } - else { - $this->_newMemberships[] = $newMembership->id; - return CRM_Import_Parser::VALID; - } + $newMembership = civicrm_api3('Membership', 'create', $formatted); + $this->_newMemberships[] = $newMembership['id']; + return CRM_Import_Parser::VALID; } else { array_unshift($values, 'Matching Membership record not found for Membership ID ' . $formatValues['membership_id'] . '. Row was skipped.');