set contact type for map fields
authorEileen McNaughton <emcnaughton@wikimedia.org>
Mon, 2 May 2022 00:49:55 +0000 (12:49 +1200)
committerEileen McNaughton <emcnaughton@wikimedia.org>
Tue, 3 May 2022 02:06:30 +0000 (14:06 +1200)
CRM/Contact/Import/Form/MapField.php
CRM/Import/Parser.php

index 5702c33920a7683cde65c6b12b802c8e865b1f2d..0e81b57df197945da1cae2c516e5a836cbd7349d 100644 (file)
@@ -619,9 +619,10 @@ class CRM_Contact_Import_Form_MapField extends CRM_Import_Form_MapField {
    * @param int $columnNumber
    *
    * @return array
+   * @throws \CRM_Core_Exception
    */
   protected function getMappedField(array $fieldMapping, int $mappingID, int $columnNumber): array {
-    return (new CRM_Contact_Import_Parser_Contact())->getMappingFieldFromMapperInput($fieldMapping, $mappingID, $columnNumber);
+    return (new CRM_Contact_Import_Parser_Contact())->setContactType($this->getContactType())->getMappingFieldFromMapperInput($fieldMapping, $mappingID, $columnNumber);
   }
 
   /**
index b87ccae753be8672e9da13535cabf956915e1b90..3ba55c5f48e9d58d5b8522e1e0443cd4cec1b9c7 100644 (file)
@@ -281,6 +281,16 @@ abstract class CRM_Import_Parser {
    */
   public $_contactType;
 
+  /**
+   * @param string $contactType
+   *
+   * @return CRM_Import_Parser
+   */
+  public function setContactType(string $contactType): CRM_Import_Parser {
+    $this->_contactType = $contactType;
+    return $this;
+  }
+
   /**
    * Contact sub-type
    *