Skip to content
Snippets Groups Projects
Commit 1db6723a authored by sarvesh21's avatar sarvesh21
Browse files

added import from file

parent 7599522a
No related branches found
No related tags found
No related merge requests found
......@@ -19,7 +19,7 @@ class CRM_Dataprocessor_Form_Import extends CRM_Core_Form {
}
public function buildQuickForm() {
$this->add('textarea', 'code', E::ts('Import code'), 'rows=30 style="width:100%"', true);
$this->add('file', 'uploadFile', ts('Import Data File'), 'size=30 maxlength=255', TRUE);
$this->addButtons(array(
array('type' => 'next', 'name' => E::ts('Import'), 'isDefault' => TRUE,),
array('type' => 'cancel', 'name' => E::ts('Cancel'))
......@@ -27,14 +27,30 @@ class CRM_Dataprocessor_Form_Import extends CRM_Core_Form {
}
public function postProcess() {
$values = $this->exportValues();
$importCode = json_decode($values['code'], true);
$importResult = CRM_Dataprocessor_Utils_Importer::import($importCode, '', true);
$values = $this->getSubmitValues(True);
// Check for JSON extension required
$filetype = $values['uploadFile']['type'];
if($filetype != 'application/json'){
CRM_Core_Session::setStatus(E::ts('Imported file should be a json file'), '', 'error');
$redirectUrl = CRM_Utils_System::url('civicrm/dataprocessor/form/import', array('reset' => 1, 'action' => 'add'));
parent::preProcess();
CRM_Utils_System::redirect($redirectUrl);
}
else{
CRM_Core_Session::setStatus(E::ts('Imported data processor'), '', 'success');
$configuration = file_get_contents($values['uploadFile']['tmp_name']);
$redirectUrl = CRM_Utils_System::url('civicrm/dataprocessor/form/edit', array('reset' => 1, 'action' => 'update', 'id' => $importResult['new_id']));
CRM_Utils_System::redirect($redirectUrl);
$importCode = json_decode($configuration, true);
$importResult = CRM_Dataprocessor_Utils_Importer::import($importCode, '', true);
CRM_Core_Session::setStatus(E::ts('Imported data processor'), '', 'success');
$redirectUrl = CRM_Utils_System::url('civicrm/dataprocessor/form/edit', array('reset' => 1, 'action' => 'update', 'id' => $importResult['new_id']));
CRM_Utils_System::redirect($redirectUrl);
}
}
......
{crmScope extensionKey='dataprocessor'}
{* block for rule data *}
<h3>{ts}Import data processor{/ts}</h3>
<div class="crm-block crm-form-block crm-data-processor_source-block">
<h3>{ts}Code{/ts}</h3>
{$form.code.html}
</div>
<div class="crm-block crm-form-block crm-data-processor_source-block"> {$form.uploadFile.html}</div>
<div class="crm-submit-buttons">
{include file="CRM/common/formButtons.tpl" location="bottom"}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment