From c8cbc32cefb90c8500f8e52cfcc806ccdd355601 Mon Sep 17 00:00:00 2001 From: eileen Date: Fri, 23 Aug 2019 15:38:23 +1200 Subject: [PATCH] [Ref] [Import] Use processor to determine website type, location type, test --- CRM/Contact/Import/Form/MapField.php | 20 ++++++++----------- .../CRM/Contact/Import/Form/MapFieldTest.php | 2 +- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/CRM/Contact/Import/Form/MapField.php b/CRM/Contact/Import/Form/MapField.php index 8c0ef827ac..f439890c74 100644 --- a/CRM/Contact/Import/Form/MapField.php +++ b/CRM/Contact/Import/Form/MapField.php @@ -209,13 +209,11 @@ class CRM_Contact_Import_Form_MapField extends CRM_Import_Form_MapField { else { $savedMapping = $this->get('savedMapping'); - list($mappingName, $mappingContactType, $mappingLocation, $mappingPhoneType, $mappingImProvider, $mappingRelation, $mappingOperator, $mappingValue, $mappingWebsiteType) = CRM_Core_BAO_Mapping::getMappingFields($savedMapping, TRUE); + list($mappingName, $mappingContactType, $mappingLocation, $mappingPhoneType, $mappingImProvider, $mappingRelation) = CRM_Core_BAO_Mapping::getMappingFields($savedMapping, TRUE); //get loaded Mapping Fields $mappingName = CRM_Utils_Array::value(1, $mappingName); - $mappingLocation = CRM_Utils_Array::value(1, $mappingLocation); $mappingRelation = CRM_Utils_Array::value(1, $mappingRelation); - $mappingWebsiteType = CRM_Utils_Array::value(1, $mappingWebsiteType); $this->assign('loadedMapping', $savedMapping); $this->set('loadedMapping', $savedMapping); @@ -407,7 +405,7 @@ class CRM_Contact_Import_Form_MapField extends CRM_Import_Form_MapField { $sel = &$this->addElement('hierselect', "mapper[$i]", ts('Mapper for Field %1', [1 => $i]), NULL); if ($this->get('savedMapping')) { - list($defaults, $js) = $this->loadSavedMapping($processor, $mappingName, $i, $mappingRelation, $mappingWebsiteType, $mappingLocation, $defaults, $js, $hasColumnNames, $dataPatterns, $columnPatterns); + list($defaults, $js) = $this->loadSavedMapping($processor, $mappingName, $i, $mappingRelation, $defaults, $js, $hasColumnNames, $dataPatterns, $columnPatterns); } else { $js .= "swapOptions($formName, 'mapper[$i]', 0, 3, 'hs_mapper_0_');\n"; @@ -849,9 +847,7 @@ class CRM_Contact_Import_Form_MapField extends CRM_Import_Form_MapField { * @param \CRM_Import_ImportProcessor $processor * @param $mappingName * @param int $i - * @param $mappingRelation - * @param $mappingWebsiteType - * @param $mappingLocation + * @param array $mappingRelation * @param array $defaults * @param string $js * @param bool $hasColumnNames @@ -861,7 +857,7 @@ class CRM_Contact_Import_Form_MapField extends CRM_Import_Form_MapField { * @return array * @throws \CiviCRM_API3_Exception */ - public function loadSavedMapping($processor, $mappingName, $i, $mappingRelation, $mappingWebsiteType, $mappingLocation, $defaults, $js, $hasColumnNames, $dataPatterns, $columnPatterns) { + public function loadSavedMapping($processor, $mappingName, $i, $mappingRelation, $defaults, $js, $hasColumnNames, $dataPatterns, $columnPatterns) { $jsSet = FALSE; $formName = $processor->getFormName(); if (isset($mappingName[$i])) { @@ -899,8 +895,8 @@ class CRM_Contact_Import_Form_MapField extends CRM_Import_Form_MapField { } $contactDetails = strtolower(str_replace(" ", "_", $mappingName[$i])); - $websiteTypeId = isset($mappingWebsiteType[$i]) ? $mappingWebsiteType[$i] : NULL; - $locationId = isset($mappingLocation[$i]) ? $mappingLocation[$i] : 0; + $websiteTypeId = $processor->getWebsiteTypeID($i); + $locationId = $processor->getLocationTypeID($i); $phoneType = $processor->getPhoneTypeID($i); $imProvider = $processor->getIMProviderID($i); @@ -941,8 +937,8 @@ class CRM_Contact_Import_Form_MapField extends CRM_Import_Form_MapField { } else { $mappingHeader = array_keys((array) $this->_mapperFields, $mappingName[$i]); - $websiteTypeId = isset($mappingWebsiteType[$i]) ? $mappingWebsiteType[$i] : NULL; - $locationId = isset($mappingLocation[$i]) ? $mappingLocation[$i] : 0; + $websiteTypeId = $processor->getWebsiteTypeID($i); + $locationId = $processor->getLocationTypeID($i); $phoneType = $processor->getPhoneTypeID($i); $imProvider = $processor->getIMProviderID($i); diff --git a/tests/phpunit/CRM/Contact/Import/Form/MapFieldTest.php b/tests/phpunit/CRM/Contact/Import/Form/MapFieldTest.php index a051fbaf7b..d66191eff4 100644 --- a/tests/phpunit/CRM/Contact/Import/Form/MapFieldTest.php +++ b/tests/phpunit/CRM/Contact/Import/Form/MapFieldTest.php @@ -342,7 +342,7 @@ document.forms.MapField['mapper[0][3]'].style.display = 'none';\n", $processor->setFormName('document.forms.MapField'); $processor->setMetadata($this->getContactImportMetadata()); - $return = $form->loadSavedMapping($processor, $mappingName, $columnNumber, $mappingRelation, $mappingWebsiteType, $mappingLocation, $defaults, $js, $hasColumnNames, $dataPatterns, $columnPatterns); + $return = $form->loadSavedMapping($processor, $mappingName, $columnNumber, $mappingRelation, $defaults, $js, $hasColumnNames, $dataPatterns, $columnPatterns); return ['defaults' => $return[0], 'js' => $return[1]]; } -- 2.25.1