From 4b9ffb80647b50aa1a129d3125d725cc2e96c326 Mon Sep 17 00:00:00 2001 From: Eileen McNaughton Date: Sun, 15 May 2022 08:56:28 +1200 Subject: [PATCH] [REF] [Import] Remove now-unused code --- CRM/Contact/Import/Form/MapField.php | 74 +------------- CRM/Contact/Import/ImportJob.php | 98 +------------------ CRM/Import/ImportProcessor.php | 17 +--- .../CRM/Contact/Import/Parser/ContactTest.php | 14 +-- 4 files changed, 8 insertions(+), 195 deletions(-) diff --git a/CRM/Contact/Import/Form/MapField.php b/CRM/Contact/Import/Form/MapField.php index 7cbc6ff1ac..24ce0d22bf 100644 --- a/CRM/Contact/Import/Form/MapField.php +++ b/CRM/Contact/Import/Form/MapField.php @@ -445,73 +445,10 @@ class CRM_Contact_Import_Form_MapField extends CRM_Import_Form_MapField { */ public function submit($params) { $mapperKeys = $this->getSubmittedValue('mapper'); - $mapper = $mapperKeysMain = $locations = []; - $parserParameters = CRM_Contact_Import_Parser_Contact::getParameterForParser($this->_columnCount); - - $phoneTypes = CRM_Core_PseudoConstant::get('CRM_Core_DAO_Phone', 'phone_type_id'); - $imProviders = CRM_Core_PseudoConstant::get('CRM_Core_DAO_IM', 'provider_id'); - $websiteTypes = CRM_Core_PseudoConstant::get('CRM_Core_DAO_Website', 'website_type_id'); - $locationTypes = CRM_Core_PseudoConstant::get('CRM_Core_DAO_Address', 'location_type_id'); - $locationTypes['Primary'] = ts('Primary'); + $mapperKeysMain = []; for ($i = 0; $i < $this->_columnCount; $i++) { - - $fldName = $mapperKeys[$i][0] ?? NULL; - $selOne = $mapperKeys[$i][1] ?? NULL; - $selTwo = $mapperKeys[$i][2] ?? NULL; - $selThree = $mapperKeys[$i][3] ?? NULL; - $mapper[$i] = $this->_mapperFields[$mapperKeys[$i][0]]; - $mapperKeysMain[$i] = $fldName; - - //need to differentiate non location elements. - if ($selOne && (is_numeric($selOne) || $selOne === 'Primary')) { - if ($fldName === 'url') { - $parserParameters['mapperWebsiteType'][$i] = $websiteTypes[$selOne]; - } - else { - $locations[$i] = $locationTypes[$selOne]; - $parserParameters['mapperLocType'][$i] = $selOne; - if ($selTwo && is_numeric($selTwo)) { - if ($fldName === 'phone' || $fldName === 'phone_ext') { - $parserParameters['mapperPhoneType'][$i] = $phoneTypes[$selTwo]; - } - elseif ($fldName === 'im') { - $parserParameters['mapperImProvider'][$i] = $imProviders[$selTwo]; - } - } - } - } - - //relationship contact mapper info. - [$id, $first, $second] = CRM_Utils_System::explode('_', $fldName, 3); - if (($first === 'a' && $second === 'b') || - ($first === 'b' && $second === 'a') - ) { - $parserParameters['mapperRelated'][$i] = $this->_mapperFields[$fldName]; - if ($selOne) { - if ($selOne === 'url') { - $parserParameters['relatedContactWebsiteType'][$i] = $websiteTypes[$selTwo]; - } - else { - $parserParameters['relatedContactLocType'][$i] = $locationTypes[$selTwo] ?? NULL; - if ($selThree) { - if ($selOne === 'phone' || $selOne === 'phone_ext') { - $parserParameters['relatedContactPhoneType'][$i] = $phoneTypes[$selThree]; - } - elseif ($selOne === 'im') { - $parserParameters['relatedContactImProvider'][$i] = $imProviders[$selThree]; - } - } - } - - //get the related contact type. - $relationType = new CRM_Contact_DAO_RelationshipType(); - $relationType->id = $id; - $relationType->find(TRUE); - $parserParameters['relatedContactType'][$i] = $relationType->{"contact_type_$second"}; - $parserParameters['relatedContactDetails'][$i] = $this->_formattedFieldNames[$parserParameters['relatedContactType'][$i]][$selOne]; - } - } + $mapperKeysMain[$i] = $mapperKeys[$i][0] ?? NULL; } $this->set('columnNames', $this->_columnNames); @@ -542,12 +479,7 @@ class CRM_Contact_Import_Form_MapField extends CRM_Import_Form_MapField { $this->set('savedMapping', $saveMapping['id']); } - $parser = new CRM_Contact_Import_Parser_Contact($mapperKeysMain, $parserParameters['mapperLocType'], $parserParameters['mapperPhoneType'], - $parserParameters['mapperImProvider'], $parserParameters['mapperRelated'], $parserParameters['relatedContactType'], - $parserParameters['relatedContactDetails'], $parserParameters['relatedContactLocType'], - $parserParameters['relatedContactPhoneType'], $parserParameters['relatedContactImProvider'], - $parserParameters['mapperWebsiteType'], $parserParameters['relatedContactWebsiteType'] - ); + $parser = new CRM_Contact_Import_Parser_Contact($mapperKeysMain); $parser->setUserJobID($this->getUserJobID()); $parser->run( diff --git a/CRM/Contact/Import/ImportJob.php b/CRM/Contact/Import/ImportJob.php index 2cb4520ade..33599f16f6 100644 --- a/CRM/Contact/Import/ImportJob.php +++ b/CRM/Contact/Import/ImportJob.php @@ -20,12 +20,6 @@ */ class CRM_Contact_Import_ImportJob { - protected $_tableName; - protected $_primaryKeyName; - protected $_statusFieldName; - - protected $_doGeocodeAddress; - protected $_invalidRowCount; protected $_onDuplicate; protected $_dedupe; protected $_newGroupName; @@ -49,13 +43,6 @@ class CRM_Contact_Import_ImportJob { protected $_userJobID; - /** - * @return null|string - */ - public function getTableName() { - return $this->_tableName; - } - /** * Has the job completed. * @@ -81,97 +68,18 @@ class CRM_Contact_Import_ImportJob { */ public function runImport(&$form, $timeout = 55) { $mapper = $this->_mapper; - $mapperFields = []; - $parserParameters = CRM_Contact_Import_Parser_Contact::getParameterForParser(count($mapper)); - $phoneTypes = CRM_Core_PseudoConstant::get('CRM_Core_DAO_Phone', 'phone_type_id'); - $imProviders = CRM_Core_PseudoConstant::get('CRM_Core_DAO_IM', 'provider_id'); - $websiteTypes = CRM_Core_PseudoConstant::get('CRM_Core_DAO_Website', 'website_type_id'); - $locationTypes = array('Primary' => ts('Primary')) + CRM_Core_PseudoConstant::get('CRM_Core_DAO_Address', 'location_type_id'); - foreach ($mapper as $key => $value) { - - $fldName = $mapper[$key][0] ?? NULL; - $header = array($this->_mapFields[$fldName]); - $selOne = $mapper[$key][1] ?? NULL; - $selTwo = $mapper[$key][2] ?? NULL; - $selThree = $mapper[$key][3] ?? NULL; - $this->_mapperKeys[$key] = $fldName; - - //need to differentiate non location elements. - // @todo merge this with duplicate code on MapField class. - if ($selOne && (is_numeric($selOne) || $selOne === 'Primary')) { - if ($fldName === 'url') { - $header[] = $websiteTypes[$selOne]; - } - else { - $header[] = $locationTypes[$selOne]; - $parserParameters['mapperLocType'][$key] = $selOne; - if ($selTwo && is_numeric($selTwo)) { - if ($fldName === 'phone' || $fldName === 'phone_ext') { - $header[] = $phoneTypes[$selTwo]; - $parserParameters['mapperPhoneType'][$key] = $selTwo; - } - elseif ($fldName === 'im') { - $header[] = $imProviders[$selTwo]; - $parserParameters['mapperImProvider'][$key] = $selTwo; - } - } - } - } - - $fldNameParts = explode('_', $fldName, 3); - $id = $fldNameParts[0]; - $first = $fldNameParts[1] ?? NULL; - $second = $fldNameParts[2] ?? NULL; - if (($first == 'a' && $second == 'b') || - ($first == 'b' && $second == 'a') - ) { - - $header[] = ucwords(str_replace("_", " ", $selOne)); - - $relationType = new CRM_Contact_DAO_RelationshipType(); - $relationType->id = $id; - $relationType->find(TRUE); - $parserParameters['relatedContactType'][$key] = $relationType->{"contact_type_$second"}; - - $parserParameters['mapperRelated'][$key] = $fldName; - if ($selOne) { - $parserParameters['relatedContactDetails'][$key] = $selOne; - if ($selTwo) { - if ($selOne == 'url') { - $header[] = $websiteTypes[$selTwo]; - } - else { - $header[] = $locationTypes[$selTwo]; - if ($selThree) { - if ($selOne == 'phone' || $selOne == 'phone_ext') { - $header[] = $phoneTypes[$selThree]; - } - elseif ($selOne == 'im') { - $header[] = $imProviders[$selThree]; - } - } - } - } - } - } + $this->_mapperKeys[$key] = $mapper[$key][0] ?? NULL; } $this->_parser = new CRM_Contact_Import_Parser_Contact( - $this->_mapperKeys, - $parserParameters['mapperLocType'], - $parserParameters['mapperPhoneType'], - $parserParameters['mapperImProvider'], - $parserParameters['mapperRelated'], - $parserParameters['relatedContactType'], - $parserParameters['relatedContactDetails'] + $this->_mapperKeys ); $this->_parser->setUserJobID($this->_userJobID); $this->_parser->run( [], CRM_Import_Parser::MODE_IMPORT, - $this->_statusID, - $this->_totalRowCount + $this->_statusID ); $contactIds = $this->_parser->getImportedContacts(); diff --git a/CRM/Import/ImportProcessor.php b/CRM/Import/ImportProcessor.php index 12b38d6b53..9175a72ba3 100644 --- a/CRM/Import/ImportProcessor.php +++ b/CRM/Import/ImportProcessor.php @@ -423,22 +423,7 @@ class CRM_Import_ImportProcessor { * @throws \CiviCRM_API3_Exception */ public function getImporterObject() { - $importer = new CRM_Contact_Import_Parser_Contact( - $this->getFieldNames(), - $this->getFieldLocationTypes(), - $this->getFieldPhoneTypes(), - $this->getFieldIMProviderTypes(), - // @todo - figure out related mappings. - // $mapperRelated = [], $mapperRelatedContactType = [], $mapperRelatedContactDetails = [], $mapperRelatedContactLocType = [], $mapperRelatedContactPhoneType = [], $mapperRelatedContactImProvider = [], - [], - [], - [], - [], - [], - [], - $this->getFieldWebsiteTypes() - // $mapperRelatedContactWebsiteType = [] - ); + $importer = new CRM_Contact_Import_Parser_Contact($this->getFieldNames()); $importer->setUserJobID($this->getUserJobID()); $importer->init(); return $importer; diff --git a/tests/phpunit/CRM/Contact/Import/Parser/ContactTest.php b/tests/phpunit/CRM/Contact/Import/Parser/ContactTest.php index 5df22b64a3..400c6bf1a4 100644 --- a/tests/phpunit/CRM/Contact/Import/Parser/ContactTest.php +++ b/tests/phpunit/CRM/Contact/Import/Parser/ContactTest.php @@ -65,19 +65,7 @@ class CRM_Contact_Import_Parser_ContactTest extends CiviUnitTestCase { 'mapper' => [['first_name'], ['last_name'], ['5_a_b', 'organization_name']], ]); - $parser = new CRM_Contact_Import_Parser_Contact($fields, [], [], [], [ - NULL, - NULL, - '5_a_b', - ], [ - NULL, - NULL, - 'Organization', - ], [ - NULL, - NULL, - 'organization_name', - ]); + $parser = new CRM_Contact_Import_Parser_Contact($fields); $parser->setUserJobID($userJobID); $parser->_onDuplicate = CRM_Import_Parser::DUPLICATE_UPDATE; $parser->init(); -- 2.25.1