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('customer_queue_id'); $model = $this->_objectManager->create(\JR\NetSuite\Model\CustomerQueue::class)->load($id); if (!$model->getId() && $id) { $this->messageManager->addErrorMessage(__('This Customer Queue no longer exists.')); return $resultRedirect->setPath('*/*/'); } $model->setData($data); try { $model->save(); $this->messageManager->addSuccessMessage(__('You saved the Customer Queue.')); $this->dataPersistor->clear('jr_netsuite_customer_queue'); if ($this->getRequest()->getParam('back')) { return $resultRedirect->setPath('*/*/edit', ['customer_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 Customer Queue.')); } $this->dataPersistor->set('jr_netsuite_customer_queue', $data); return $resultRedirect->setPath('*/*/edit', ['customer_queue_id' => $this->getRequest()->getParam('customer_queue_id')]); } return $resultRedirect->setPath('*/*/'); } }