diff --git a/CRM/Contribute/Import/Parser/Contribution.php b/CRM/Contribute/Import/Parser/Contribution.php index f98f1bc2d161..873954a33fea 100644 --- a/CRM/Contribute/Import/Parser/Contribution.php +++ b/CRM/Contribute/Import/Parser/Contribution.php @@ -197,22 +197,12 @@ public function addField($name, $title, $type = CRM_Utils_Type::T_INT, $headerPa } } - /** - * The initializer code, called before the processing - */ - public function init() { - $this->setFieldMetadata(); - foreach ($this->getImportableFieldsMetadata() as $name => $field) { - $this->addField($name, $field['title'], $field['type'], $field['headerPattern'], $field['dataPattern']); - } - } - /** * Set field metadata. */ protected function setFieldMetadata() { if (empty($this->importableFieldsMetadata)) { - $fields = CRM_Contribute_BAO_Contribution::importableFields($this->_contactType, FALSE); + $fields = CRM_Contribute_BAO_Contribution::importableFields($this->getContactType(), FALSE); $fields = array_merge($fields, [ @@ -250,29 +240,6 @@ protected function setFieldMetadata() { } } - /** - * Handle the values in summary mode. - * - * @param array $values - * The array of values belonging to this line. - * - * @return int - * CRM_Import_Parser::VALID or CRM_Import_Parser::ERROR - */ - public function summary(&$values) { - $rowNumber = (int) ($values[array_key_last($values)]); - $params = $this->getMappedRow($values); - $errorMessage = implode(';', $this->getInvalidValues($params)); - $params['contact_type'] = 'Contribution'; - - if ($errorMessage) { - $this->setImportStatus($rowNumber, 'ERROR', "Invalid value for field(s) : $errorMessage"); - return CRM_Import_Parser::ERROR; - } - - return CRM_Import_Parser::VALID; - } - /** * Handle the values in import mode. * @@ -302,15 +269,15 @@ public function import($values): void { if ($this->isSkipDuplicates() && (!empty($paramValues['contribution_contact_id']) || !empty($paramValues['external_identifier'])) ) { - $paramValues['contact_type'] = $this->_contactType; + $paramValues['contact_type'] = $this->getContactType(); } elseif ($this->isUpdateExisting() && (!empty($paramValues['contribution_id']) || !empty($values['trxn_id']) || !empty($paramValues['invoice_id'])) ) { - $paramValues['contact_type'] = $this->_contactType; + $paramValues['contact_type'] = $this->getContactType(); } elseif (!empty($paramValues['pledge_payment'])) { - $paramValues['contact_type'] = $this->_contactType; + $paramValues['contact_type'] = $this->getContactType(); } $formatError = $this->deprecatedFormatParams($paramValues, $formatted); @@ -451,7 +418,7 @@ public function import($values): void { // Using new Dedupe rule. $ruleParams = [ - 'contact_type' => $this->_contactType, + 'contact_type' => $this->getContactType(), 'used' => 'Unsupervised', ]; $fieldsArray = CRM_Dedupe_BAO_DedupeRule::dedupeRuleFields($ruleParams); diff --git a/CRM/Import/Parser.php b/CRM/Import/Parser.php index 7ec35b7c9aa7..05a6b14da8e6 100644 --- a/CRM/Import/Parser.php +++ b/CRM/Import/Parser.php @@ -1810,6 +1810,11 @@ public function init() { // Force re-load of user job. unset($this->userJob); $this->setFieldMetadata(); + // remove this - we no longer use headerPatter & dataPattern is silly IMHO + // but we could get it from importable fields if we really really need it. + foreach ($this->getImportableFieldsMetadata() as $name => $field) { + $this->addField($name, $field['title'], $field['type'], $field['headerPattern'], $field['dataPattern']); + } } /** diff --git a/templates/CRM/Contribute/Import/Form/Preview.tpl b/templates/CRM/Contribute/Import/Form/Preview.tpl index 61f1d14e11f9..03458208b07c 100644 --- a/templates/CRM/Contribute/Import/Form/Preview.tpl +++ b/templates/CRM/Contribute/Import/Form/Preview.tpl @@ -27,7 +27,7 @@

{ts}Click 'Import Now' if you are ready to proceed.{/ts}

{include file="CRM/common/formButtons.tpl" location="top"}
- {include file="CRM/common/importProgress.tpl"} + {* Summary Preview (record counts) *}
{ts}Total Rows{/ts}