agreementFactory = $agreementFactory ?: ObjectManager::getInstance()->get(AgreementFactory::class); parent::__construct($context, $coreRegistry); } /** * @return void */ public function execute() { $postData = $this->getRequest()->getPostValue(); if ($postData) { $model = $this->agreementFactory->create(); $model->setData($postData); try { $validationResult = $model->validateData(new DataObject($postData)); if ($validationResult !== true) { foreach ($validationResult as $message) { $this->messageManager->addError($message); } } else { $model->save(); $this->messageManager->addSuccess(__('You saved the condition.')); $this->_redirect('checkout/*/'); return; } } catch (LocalizedException $e) { $this->messageManager->addError($e->getMessage()); } catch (\Exception $e) { $this->messageManager->addError(__('Something went wrong while saving this condition.')); } $this->_session->setAgreementData($postData); $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($this->getUrl('*'))); } } }