Details
-
Type: New Feature
-
Status: Done/Fixed
-
Priority: Major
-
Resolution: Fixed/Completed
-
Affects Version/s: None
-
Fix Version/s: 1.0
-
Component/s: None
-
Labels:None
Description
- Wizard screens (templates located in templates/CRM/Import/Form):
Upload Data (UploadFile.tpl)
Match Fields (MapField.tpl) -> csv parse only
Preview Import (Preview.tpl)->
Incoming record count
Mapping sample (1st 5 records)
If email defined - validate format and report # of invalid emails, and check for email dupes (within incoming data)
Import Summary (Summary.tpl)
Successfully imported record count
Invalid records (e.g. bad email or other invalid data elements) are rejected
If 1 or more invalid records, Include link to download rejected records
- WizardHeader.tpl - maps the steps of the wizard and indicates current step
Generic template. Located in templates/CRM/
------>>---------------------------------------------------------------------------------------------------------|
Upload Data Match Fields Preview Summary Check Duplicates
Smarty vars for this .tpl are in an associative array 'wizard' with attributes
- $steps (array of len total number of steps), contains
title =>$stepTitle
link =>'(not used yet)' - $currentStepNumber (step number of current step)
- $currentStepTitle
- $stepCount (total number of steps)
Template will use these vars to assign class="current-step", "past-step" or "future-step" to progress bar sections.
- Wizard Buttons/Links (top AND bottom of each page):
<< Previous (link) [ Next >> ] [ Cancel ]
- Upload Data (step 1 of 4) -> UploadFile.tpl
$uploadFile -> Upload File : <input type=file />
- Match Fields (step 2 of 4) -> MapField.tpl
$rowDisplayCount -> how many csv rows are we going to display (2 for now)
$columnCount -> how many columns (fields in the csv data)
$dataValues -> nested array of field values from csv data rows
Table display logic:
for (i = 0, i < $columnCount, i++)
$form.mapper[i].html
for (j = 0, j < $rowDisplayCount, j++)
$dataValues[j][i]
- Preview Import (step 3 of 4) -> Preview.tpl
$rowDisplayCount -> how many csv rows are we going to display (2 for now)
$columnCount -> how many columns (fields in the csv data)
$dataValues -> nested array of field values from csv data rows
$totalRowCount -> total count of incoming data records
$validRowCount -> subtotal of rows w/o errors
$invalidRowCount -> subtotal of rows w/ errors (will be rejected)
$duplicateRowCount -> subtotal of rows w/in import data which are duplicates (duplicate email addresses, for now)
If duplicates detected, include radio button for user to select duplicate handling method. "What do you want to do with duplicate contacts?"
Options:
- Skip duplicates
- Replace existing CiviCRM record with import record dta
- Update existing CiviCRM record with import record
- Import Summary (step 4 of 4) -> Summary.tpl
$totalRowCount -> total count of incoming data records
$validRowCount -> subtotal of rows w/o errors
$invalidRowCount -> subtotal of rejected rows due to errors
$duplicateRowCount -> subtotal of rows w/in import data which were rejected as duplicates (duplicate email addresses, for now)
Links:
$downloadErrorRecords
$downloadDuplicateRecords
Buttons:
[ Done ] -> returns to default CRM page (Search, for now)