/** * 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(); } }
/** * @return bool */ public function execute() { $result = $this->importModel->importSource(); if ($result) { $this->importModel->invalidateIndex(); } return $result; }
/** * {@inheritdoc} */ public function invalidateIndex() { $pluginInfo = $this->pluginList->getNext($this->subjectType, 'invalidateIndex'); if (!$pluginInfo) { return parent::invalidateIndex(); } else { return $this->___callPlugins('invalidateIndex', func_get_args(), $pluginInfo); } }