From: eileen Date: Tue, 19 Jan 2021 01:51:53 +0000 (+1300) Subject: Start extracting the transform funcition X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=6052339e74506fcef2448bf514ac517505288615;p=civicrm-core.git Start extracting the transform funcition --- 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; + } + }