Move calc for do-not-import default to processor
authoreileen <emcnaughton@wikimedia.org>
Thu, 5 Sep 2019 23:42:21 +0000 (11:42 +1200)
committereileen <emcnaughton@wikimedia.org>
Fri, 6 Sep 2019 01:47:12 +0000 (13:47 +1200)
CRM/Contact/Import/Form/MapField.php
CRM/Import/ImportProcessor.php

index 6d46ae4fde7f2dd2da9c53bf257cebb9fc95515b..833ff73720f68334440e3340f7072e4570eb2910 100644 (file)
@@ -852,13 +852,12 @@ class CRM_Contact_Import_Form_MapField extends CRM_Import_Form_MapField {
    */
   public function loadSavedMapping($processor, $mappingName, $i, $defaults, $js, $hasColumnNames) {
     $formName = $processor->getFormName();
-    if (isset($mappingName[$i])) {
+    if ($processor->getFieldName($i)) {
+      $defaults["mapper[$i]"] = $processor->getSavedQuickformDefaultsForColumn($i);
       if ($mappingName[$i] != ts('- do not import -')) {
-        $defaults["mapper[$i]"] = $processor->getSavedQuickformDefaultsForColumn($i);
         $js .= $processor->getQuickFormJSForField($i);
       }
       else {
-        $defaults["mapper[$i]"] = [];
         for ($k = 1; $k < 4; $k++) {
           $js .= "{$formName}['mapper[$i][$k]'].style.display = 'none';\n";
         }
index 929be2055159969b8549fe3feb4fe1a5b7d20fc9..6ecca5a73767b55e8a0dba292f0c7d29b08a3443 100644 (file)
@@ -545,6 +545,9 @@ class CRM_Import_ImportProcessor {
    * @throws \CiviCRM_API3_Exception
    */
   public function getSavedQuickformDefaultsForColumn($column) {
+    if ($this->getFieldName($column) === ts('- do not import -')) {
+      return [];
+    }
     if ($this->getValidRelationshipKey($column)) {
       if ($this->getWebsiteTypeID($column)) {
         return [$this->getValidRelationshipKey($column), $this->getFieldName($column), $this->getWebsiteTypeID($column)];