From 12d121eba6a242b380e827d2cfa25db3e104fb44 Mon Sep 17 00:00:00 2001 From: Eileen McNaughton Date: Sun, 24 Apr 2022 17:07:02 +1200 Subject: [PATCH] [REF] [Import] call non-deprecated function instead of deprecated --- CRM/Contact/Import/Parser/Contact.php | 78 +++---------------- .../CRM/Contact/Import/Parser/ContactTest.php | 6 +- 2 files changed, 15 insertions(+), 69 deletions(-) diff --git a/CRM/Contact/Import/Parser/Contact.php b/CRM/Contact/Import/Parser/Contact.php index 948bb17c57..30cd4d6af5 100644 --- a/CRM/Contact/Import/Parser/Contact.php +++ b/CRM/Contact/Import/Parser/Contact.php @@ -455,11 +455,7 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Import_Parser { $statusFieldName = $this->_statusFieldName; if ($response != CRM_Import_Parser::VALID) { - $importRecordParams = [ - $statusFieldName => 'INVALID', - "${statusFieldName}Msg" => "Invalid (Error Code: $response)", - ]; - $this->updateImportRecord($values[count($values) - 1], $importRecordParams); + $this->setImportStatus((int) $values[count($values) - 1], 'Invalid', "Invalid (Error Code: $response)"); return $response; } @@ -499,11 +495,7 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Import_Parser { else { $errorMessage = ts('External ID already exists in Database.'); array_unshift($values, $errorMessage); - $importRecordParams = [ - $statusFieldName => 'ERROR', - "${statusFieldName}Msg" => $errorMessage, - ]; - $this->updateImportRecord($values[count($values) - 1], $importRecordParams); + $this->setImportStatus((int) $values[count($values) - 1], 'ERROR', $errorMessage); return CRM_Import_Parser::DUPLICATE; } } @@ -540,7 +532,7 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Import_Parser { $statusFieldName => 'ERROR', "${statusFieldName}Msg" => $errorMessage, ]; - $this->updateImportRecord($values[count($values) - 1], $importRecordParams); + $this->setImportStatus((int) $values[count($values) - 1], 'ERROR', $errorMessage); return CRM_Import_Parser::ERROR; } foreach ($possibleMatches as $possibleID) { @@ -697,11 +689,7 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Import_Parser { if ($onDuplicate == CRM_Import_Parser::DUPLICATE_SKIP) { $errorMessage = "Skipping duplicate record"; array_unshift($values, $errorMessage); - $importRecordParams = [ - $statusFieldName => 'DUPLICATE', - "${statusFieldName}Msg" => $errorMessage, - ]; - $this->updateImportRecord($values[count($values) - 1], $importRecordParams); + $this->setImportStatus((int) $values[count($values) - 1], 'DUPLICATE', $errorMessage); return CRM_Import_Parser::DUPLICATE; } @@ -858,11 +846,7 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Import_Parser { else { $errorMessage = $relatedNewContact['error_message']; array_unshift($values, $errorMessage); - $importRecordParams = [ - $statusFieldName => 'ERROR', - "${statusFieldName}Msg" => $errorMessage, - ]; - $this->updateImportRecord($values[count($values) - 1], $importRecordParams); + $this->setImportStatus((int) $values[count($values) - 1], 'ERROR', $errorMessage); return CRM_Import_Parser::ERROR; } } @@ -986,11 +970,7 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Import_Parser { // Not a dupe, so we had an error $errorMessage = $newContact['error_message']; array_unshift($values, $errorMessage); - $importRecordParams = [ - $statusFieldName => 'ERROR', - "${statusFieldName}Msg" => $errorMessage, - ]; - $this->updateImportRecord($values[count($values) - 1], $importRecordParams); + $this->setImportStatus((int) $values[count($values) - 1], 'ERROR', $errorMessage); return CRM_Import_Parser::ERROR; } @@ -2084,9 +2064,7 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Import_Parser { */ public function processMessage(&$values, $statusFieldName, $returnCode) { if (empty($this->_unparsedStreetAddressContacts)) { - $importRecordParams = [ - $statusFieldName => 'IMPORTED', - ]; + $this->setImportStatus((int) ($values[count($values) - 1]), 'IMPORTED', ''); } else { $errorMessage = ts("Record imported successfully but unable to parse the street address: "); @@ -2095,13 +2073,9 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Import_Parser { $errorMessage .= "\n Contact ID:" . $contactValue['id'] . " " . $contactValue['streetAddress'] . ""; } array_unshift($values, $errorMessage); - $importRecordParams = [ - $statusFieldName => 'ERROR', - "${statusFieldName}Msg" => $errorMessage, - ]; $returnCode = CRM_Import_Parser::UNPARSED_ADDRESS_WARNING; + $this->setImportStatus((int) ($values[count($values) - 1]), 'ERROR', $errorMessage); } - $this->updateImportRecord($values[count($values) - 1], $importRecordParams); return $returnCode; } @@ -2296,15 +2270,10 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Import_Parser { // If we duplicate more than one record, skip no matter what if (count($cids) > 1) { $errorMessage = ts('Record duplicates multiple contacts'); - $importRecordParams = [ - $statusFieldName => 'ERROR', - "${statusFieldName}Msg" => $errorMessage, - ]; - //combine error msg to avoid mismatch between error file columns. $errorMessage .= "\n" . $url_string; array_unshift($values, $errorMessage); - $this->updateImportRecord($values[count($values) - 1], $importRecordParams); + $this->setImportStatus((int) $values[count($values) - 1], 'ERROR', $errorMessage); return CRM_Import_Parser::ERROR; } @@ -2335,11 +2304,7 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Import_Parser { // different kind of error other than DUPLICATE $errorMessage = $newContact['error_message']; array_unshift($values, $errorMessage); - $importRecordParams = [ - $statusFieldName => 'ERROR', - "${statusFieldName}Msg" => $errorMessage, - ]; - $this->updateImportRecord($values[count($values) - 1], $importRecordParams); + $this->setImportStatus((int) $values[count($values) - 1], 'ERROR', $errorMessage); return CRM_Import_Parser::ERROR; } @@ -2354,18 +2319,11 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Import_Parser { //CRM-262 No Duplicate Checking if ($onDuplicate == CRM_Import_Parser::DUPLICATE_SKIP) { array_unshift($values, $url_string); - $importRecordParams = [ - $statusFieldName => 'DUPLICATE', - "${statusFieldName}Msg" => "Skipping duplicate record", - ]; - $this->updateImportRecord($values[count($values) - 1], $importRecordParams); + $this->setImportStatus((int) $values[count($values) - 1], 'DUPLICATE', 'Skipping duplicate record'); return CRM_Import_Parser::DUPLICATE; } - $importRecordParams = [ - $statusFieldName => 'IMPORTED', - ]; - $this->updateImportRecord($values[count($values) - 1], $importRecordParams); + $this->setImportStatus((int) $values[count($values) - 1], 'Imported', ''); //return warning if street address is not parsed, CRM-5886 return $this->processMessage($values, $statusFieldName, CRM_Import_Parser::VALID); } @@ -3134,18 +3092,6 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Import_Parser { fclose($fd); } - /** - * Update the record with PK $id in the import database table. - * - * @deprecated - call setImportStatus directly as the parameters are simpler, - * - * @param int $id - * @param array $params - */ - public function updateImportRecord($id, $params): void { - $this->setImportStatus((int) $id, $params[$this->_statusFieldName] ?? '', $params["{$this->_statusFieldName}Msg"] ?? ''); - } - /** * Set the import status for the given record. * diff --git a/tests/phpunit/CRM/Contact/Import/Parser/ContactTest.php b/tests/phpunit/CRM/Contact/Import/Parser/ContactTest.php index 38b01f9ff9..7a0ac492cb 100644 --- a/tests/phpunit/CRM/Contact/Import/Parser/ContactTest.php +++ b/tests/phpunit/CRM/Contact/Import/Parser/ContactTest.php @@ -49,9 +49,9 @@ class CRM_Contact_Import_Parser_ContactTest extends CiviUnitTestCase { 'legal_name' => 'Agileware', ]); $contactImportValues = [ - "first_name" => "Alok", - "last_name" => "Patel", - "Employee of" => "Agileware", + 'first_name' => 'Alok', + 'last_name' => 'Patel', + 'Employee of' => 'Agileware', ]; $fields = array_keys($contactImportValues); -- 2.25.1