From 6052339e74506fcef2448bf514ac517505288615 Mon Sep 17 00:00:00 2001 From: eileen Date: Tue, 19 Jan 2021 14:51:53 +1300 Subject: [PATCH] Start extracting the transform funcition --- CRM/Activity/Import/Parser/Activity.php | 27 +++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/CRM/Activity/Import/Parser/Activity.php b/CRM/Activity/Import/Parser/Activity.php index 9b6a2f1291..106b32ff78 100644 --- a/CRM/Activity/Import/Parser/Activity.php +++ b/CRM/Activity/Import/Parser/Activity.php @@ -159,12 +159,7 @@ class CRM_Activity_Import_Parser_Activity extends CRM_Activity_Import_Parser { catch (CRM_Core_Exception $e) { return $this->addError($values, [$e->getMessage()]); } - - $params = $this->getActiveFieldParams(); - $activityLabel = array_search('activity_label', $this->_mapperKeys); - if ($activityLabel) { - $params = array_merge($params, ['activity_label' => $values[$activityLabel]]); - } + $params = $this->getApiReadyParams($values); // For date-Formats. $session = CRM_Core_Session::singleton(); $dateType = $session->get('dateTypes'); @@ -421,4 +416,24 @@ class CRM_Activity_Import_Parser_Activity extends CRM_Activity_Import_Parser { $this->validateCustomFields($values); } + /** + * Get array of parameters formatted for the api from the submitted values. + * + * @param array $values + * + * @return array + */ + protected function getApiReadyParams(array $values): array { + $this->setActiveFieldValues($values); + $params = $this->getActiveFieldParams(); + if ($this->getFieldValue($values, 'activity_label')) { + $params['activity_type_id'] = array_search( + $this->getFieldValue($values, 'activity_label'), + CRM_Activity_BAO_Activity::buildOptions('activity_type_id', 'create'), + TRUE + ); + } + return $params; + } + } -- 2.25.1