CRM-9084 - Add field separator option to import
authorColeman Watts <coleman@civicrm.org>
Mon, 27 Jul 2015 01:49:36 +0000 (21:49 -0400)
committerColeman Watts <coleman@civicrm.org>
Mon, 27 Jul 2015 13:45:22 +0000 (09:45 -0400)
CRM/Import/Form/DataSource.php
templates/CRM/Activity/Import/Form/DataSource.tpl
templates/CRM/Contribute/Import/Form/DataSource.tpl
templates/CRM/Custom/Import/Form/DataSource.tpl
templates/CRM/Event/Import/Form/DataSource.tpl
templates/CRM/Member/Import/Form/DataSource.tpl

index d5f6a8180663244da623bbe9f7fc8e53638b47f5..87f3a24a087e9f053ee556d23051381aa91e1078 100644 (file)
@@ -79,6 +79,9 @@ abstract class CRM_Import_Form_DataSource extends CRM_Core_Form {
 
     $this->addElement('checkbox', 'skipColumnHeader', ts('First row contains column headers'));
 
+    $this->add('text', 'fieldSeparator', ts('Import Field Separator'), array('size' => 2), TRUE);
+    $this->setDefaults(array('fieldSeparator' => $config->fieldSeparator));
+
     //get the saved mapping details
     $mappingArray = CRM_Core_BAO_Mapping::getMappings(CRM_Core_OptionGroup::getValue('mapping_type',
       'Import ' . static::IMPORT_ENTITY,
@@ -164,15 +167,14 @@ abstract class CRM_Import_Form_DataSource extends CRM_Core_Form {
     $session = CRM_Core_Session::singleton();
     $session->set("dateTypes", $this->get('dateFormats'));
 
-    $config = CRM_Core_Config::singleton();
-    $seperator = $config->fieldSeparator;
+    $separator = $this->controller->exportValue($this->_name, 'fieldSeparator');
 
     $mapper = array();
 
     $parser = new $parserClassName($mapper);
     $parser->setMaxLinesToProcess(100);
     $parser->run($fileName,
-      $seperator,
+      $separator,
       $mapper,
       $skipColumnHeader,
       CRM_Import_Parser::MODE_MAPFIELD,
index 69028912470be86749ee5085fd16db94a0b999f2..e2ad49586fda171423630a879477fe24ce8f6cc4 100644 (file)
                <span class="description">{ts}Check this box if the first row of your file consists of field names (Example: 'Contact ID', 'Activity Type', 'Activity Date').{/ts}</span>
            </td>
         </tr>
+        <tr class="crm-import-datasource-form-block-fieldSeparator">
+          <td class="label">{$form.fieldSeparator.label} {help id='id-fieldSeparator' file='CRM/Contact/Import/Form/DataSource'}</td>
+          <td>{$form.fieldSeparator.html}</td>
+        </tr>
         <tr>{include file="CRM/Core/Date.tpl"}</tr>
         {if $savedMapping}
         <tr class="crm-activity-import-uploadfile-form-block-savedMapping">
index d410fbed000d374a0c143a49e89963706f321722..58af9dd7454627e8fec11a70a460f0e9237f9a44 100644 (file)
                 {ts}Select 'Individual' if you are importing contributions made by individual persons.{/ts}
                 {ts}Select 'Organization' or 'Household' if you are importing contributions made by contacts of that type. (NOTE: Some built-in contact types may not be enabled for your site.){/ts}</span></td></tr>
         <tr><td class="label">{$form.onDuplicate.label}</td><td>{$form.onDuplicate.html} {help id="id-onDuplicate"}</td></tr>
+        <tr class="crm-import-datasource-form-block-fieldSeparator">
+          <td class="label">{$form.fieldSeparator.label} {help id='id-fieldSeparator' file='CRM/Contact/Import/Form/DataSource'}</td>
+          <td>{$form.fieldSeparator.html}</td>
+        </tr>
         <tr>{include file="CRM/Core/Date.tpl"}</tr>
 {if $savedMapping}
       <tr> <td class="label">{if $loadedMapping}{ts}Select a Different Field Mapping{/ts}{else}{ts}Load Saved Field Mapping{/ts}{/if}</td><td>{$form.savedMapping.html}<br /> <span class="description">{ts}Select a saved field mapping if this file format matches a previous import.{/ts}</span></tr>
index 73accd357705f0eff78e96fbcb61699489bdeea5..889607c17f72a313e9736a2e0dc47195ff947c4c 100644 (file)
                 </span>
               </td>
   </tr>
+
+   <tr class="crm-import-datasource-form-block-fieldSeparator">
+     <td class="label">{$form.fieldSeparator.label} {help id='id-fieldSeparator' file='CRM/Contact/Import/Form/DataSource'}</td>
+     <td>{$form.fieldSeparator.html}</td>
+   </tr>
   <tr class="crm-custom-import-uploadfile-form-block-date_format">
             {include file="CRM/Core/Date.tpl"}
   </tr>
index 92315f5f56253417b0b1201f3888bfa85c76465b..b48d10f5d4136682c4653d8063b6a5918b14291b 100644 (file)
             <td class="label">{$form.onDuplicate.label}</td>
       <td>{$form.onDuplicate.html} {help id="id-onDuplicate"}</td>
         </tr>
+
+   <tr class="crm-import-datasource-form-block-fieldSeparator">
+     <td class="label">{$form.fieldSeparator.label} {help id='id-fieldSeparator' file='CRM/Contact/Import/Form/DataSource'}</td>
+     <td>{$form.fieldSeparator.html}</td>
+   </tr>
   <tr class="crm-event-import-uploadfile-form-block-date_format">
             {include file="CRM/Core/Date.tpl"}
   </tr>
index 538f613cd2673a907fe34601e24bc978e9727d87..50b1e665d3d4e05b63a4c27db51d266715322a88 100644 (file)
            <td class="label" >{$form.onDuplicate.label}</td>
            <td>{$form.onDuplicate.html} {help id="id-onDuplicate"}</td>
        </tr>
+        <tr class="crm-import-datasource-form-block-fieldSeparator">
+          <td class="label">{$form.fieldSeparator.label} {help id='id-fieldSeparator' file='CRM/Contact/Import/Form/DataSource'}</td>
+          <td>{$form.fieldSeparator.html}</td>
+        </tr>
        <tr class="crm-member-import-uploadfile-from-block-date">{include file="CRM/Core/Date.tpl"}</tr>
 {if $savedMapping}
        <tr  class="crm-member-import-uploadfile-from-block-savedMapping">