Skip to content

Commit

Permalink
[Import] Unpack the weird error return
Browse files Browse the repository at this point in the history
  • Loading branch information
eileenmcnaughton committed May 25, 2022
1 parent 5f87f8e commit 972906b
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 18 deletions.
34 changes: 20 additions & 14 deletions CRM/Utils/DeprecatedUtils.php
Expand Up @@ -42,27 +42,33 @@ function _civicrm_api3_deprecated_duplicate_formatted_contact($params) {

if ($contact->find(TRUE)) {
if ($params['contact_type'] != $contact->contact_type) {
return civicrm_api3_create_error("Mismatched contact IDs OR Mismatched contact Types");
return ['is_error' => 1, 'error_message' => 'Mismatched contact IDs OR Mismatched contact Types'];
}

$error = CRM_Core_Error::createError("Found matching contacts: $contact->id",
CRM_Core_Error::DUPLICATE_CONTACT,
'Fatal', $contact->id
);
return civicrm_api3_create_error($error->pop());
return [
'is_error' => 1,
'error_message' => [
'code' => CRM_Core_Error::DUPLICATE_CONTACT,
'params' => $contact->id,
'level' => 'Fatal',
'message' => "Found matching contacts: $contact->id",
],
];
}
}
else {
$ids = CRM_Contact_BAO_Contact::getDuplicateContacts($params, $params['contact_type'], 'Unsupervised');

if (!empty($ids)) {
$ids = implode(',', $ids);
$error = CRM_Core_Error::createError("Found matching contacts: $ids",
CRM_Core_Error::DUPLICATE_CONTACT,
'Fatal', $ids
);
return civicrm_api3_create_error($error->pop());
return [
'is_error' => 1,
'error_message' => [
'code' => CRM_Core_Error::DUPLICATE_CONTACT,
'params' => $ids,
'level' => 'Fatal',
'message' => 'Found matching contacts: ' . implode(',', $ids),
],
];
}
}
return civicrm_api3_create_success(TRUE);
return ['is_error' => 0];
}
5 changes: 1 addition & 4 deletions tests/phpunit/CRM/Member/Import/Parser/MembershipTest.php
Expand Up @@ -113,11 +113,8 @@ public function tearDown(): void {

/**
* Test Import.
*
* @throws \CRM_Core_Exception
* @throws \CiviCRM_API3_Exception
*/
public function testImport() {
public function testImport(): void {
$this->individualCreate();
$contact2Params = [
'first_name' => 'Anthonita',
Expand Down

0 comments on commit 972906b

Please sign in to comment.