dataPersistor = $dataPersistor; parent::__construct($context); } /** * Save action * * @return \Magento\Framework\Controller\ResultInterface */ public function execute() { /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */ $resultRedirect = $this->resultRedirectFactory->create(); $data = $this->getRequest()->getPostValue(); if ($data) { $id = $this->getRequest()->getParam('order_queue_id'); $model = $this->_objectManager->create(\JR\NetSuite\Model\OrderQueue::class)->load($id); if (!$model->getId() && $id) { $this->messageManager->addErrorMessage(__('This Order Queue no longer exists.')); return $resultRedirect->setPath('*/*/'); } $model->setData($data); try { $model->save(); $this->messageManager->addSuccessMessage(__('You saved the Order Queue.')); $this->dataPersistor->clear('jr_netsuite_order_queue'); if ($this->getRequest()->getParam('back')) { return $resultRedirect->setPath('*/*/edit', ['order_queue_id' => $model->getId()]); } return $resultRedirect->setPath('*/*/'); } catch (LocalizedException $e) { $this->messageManager->addErrorMessage($e->getMessage()); } catch (\Exception $e) { $this->messageManager->addExceptionMessage($e, __('Something went wrong while saving the Order Queue.')); } $this->dataPersistor->set('jr_netsuite_order_queue', $data); return $resultRedirect->setPath('*/*/edit', ['order_queue_id' => $this->getRequest()->getParam('order_queue_id')]); } return $resultRedirect->setPath('*/*/'); } }