From: eileen Date: Fri, 23 Aug 2019 03:24:37 +0000 (+1200) Subject: Fix fatal when saving import mapping with a relationship but 'Primary' relationship... X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=af88ad4170095cf67a9b168046eeabf3a75aa143;hp=5c6fd6e2873a28bb27c12e7189a5c1fecbed5775;p=civicrm-core.git Fix fatal when saving import mapping with a relationship but 'Primary' relationship type This occurs because the correct value to save for location_type_id of Primary is '' but the current code winds up casting to 0 which won't save as it there is a foreign key involved. Handling was previously added but only to the (duplicate) code that deals with non-relationship fields https://github.com/eileenmcnaughton/civicrm-core/blob/cd41fa5b5599b329bd6f54acf0a79dda85477804/CRM/Contact/Import/Form/MapField.php#L724 --- diff --git a/CRM/Contact/Import/Form/MapField.php b/CRM/Contact/Import/Form/MapField.php index 8c0ef827ac..809b8837ff 100644 --- a/CRM/Contact/Import/Form/MapField.php +++ b/CRM/Contact/Import/Form/MapField.php @@ -700,7 +700,7 @@ class CRM_Contact_Import_Form_MapField extends CRM_Import_Form_MapField { elseif (CRM_Utils_Array::value('1', $mapperKeys[$i]) == 'im') { $updateMappingFields->im_provider_id = isset($mapperKeys[$i][3]) ? $mapperKeys[$i][3] : NULL; } - $updateMappingFields->location_type_id = isset($mapperKeys[$i][2]) ? $mapperKeys[$i][2] : NULL; + $updateMappingFields->location_type_id = isset($mapperKeys[$i][2]) && is_numeric($mapperKeys[$i][2]) ? $mapperKeys[$i][2] : NULL; } } else {