/** * Start import process action * * @return \Magento\Framework\Controller\ResultInterface */ public function executeInternal() { $data = $this->getRequest()->getPostValue(); if ($data) { /** @var \Magento\Framework\View\Result\Layout $resultLayout */ $resultLayout = $this->resultFactory->create(ResultFactory::TYPE_LAYOUT); /** @var $resultBlock \Magento\ImportExport\Block\Adminhtml\Import\Frame\Result */ $resultBlock = $resultLayout->getLayout()->getBlock('import.frame.result'); $resultBlock->addAction('show', 'import_validation_container')->addAction('innerHTML', 'import_validation_container_header', __('Status'))->addAction('hide', ['edit_form', 'upload_button', 'messages']); $this->importModel->setData($data); $this->importModel->importSource(); $errorAggregator = $this->importModel->getErrorAggregator(); if ($this->importModel->getErrorAggregator()->hasToBeTerminated()) { $resultBlock->addError(__('Maximum error count has been reached or system error is occurred!')); $this->addErrorMessages($resultBlock, $errorAggregator); } else { $this->importModel->invalidateIndex(); $this->addErrorMessages($resultBlock, $errorAggregator); $resultBlock->addSuccess(__('Import successfully done')); } return $resultLayout; } /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */ $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT); $resultRedirect->setPath('adminhtml/*/index'); return $resultRedirect; }
protected function _handleImportResult() { $errorAggregator = $this->importModel->getErrorAggregator(); $this->errorMessages = $this->errorHelper->getImportErrorMessages($errorAggregator); if (!$this->importModel->getErrorAggregator()->hasToBeTerminated()) { $this->importModel->invalidateIndex(); } }
/** * {@inheritdoc} */ public function getErrorAggregator() { $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getErrorAggregator'); if (!$pluginInfo) { return parent::getErrorAggregator(); } else { return $this->___callPlugins('getErrorAggregator', func_get_args(), $pluginInfo); } }
/** * @return MagentoImport\ErrorProcessing\ProcessingError[] */ public function getErrors() { return $this->importModel->getErrorAggregator()->getAllErrors(); }