Beispiel #1
0
 /**
  * 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();
 }