![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/app/code/Cnc/Checkout/Controller/Adminhtml/DeliveryEstimation/ |
<?php /** * Copyright (c) 2021 Kaliop Digital Commerce (https://digitalcommerce.kaliop.com) All Rights Reserved. * https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) * Cnc * Krzysztof Majkowski <[email protected]> */ namespace Cnc\Checkout\Controller\Adminhtml\DeliveryEstimation; use Cnc\Checkout\Api\Data\DeliveryEstimationInterface; use Cnc\Checkout\Api\Data\DeliveryEstimationInterfaceFactory; use Cnc\Checkout\Command\DeliveryEstimation\SaveCommand; use Magento\Backend\App\Action; use Magento\Backend\App\Action\Context; use Magento\Framework\App\Action\HttpPostActionInterface; use Magento\Framework\App\Request\DataPersistorInterface; use Magento\Framework\App\ResponseInterface; use Magento\Framework\Controller\ResultInterface; use Magento\Framework\DataObject; use Magento\Framework\Exception\CouldNotSaveException; /** * Save DeliveryEstimation controller action. */ class Save extends Action implements HttpPostActionInterface { /** * Authorization level of a basic admin session * * @see _isAllowed() */ const ADMIN_RESOURCE = 'Cnc_Checkout::management'; /** * @var DataPersistorInterface */ private $dataPersistor; /** * @var SaveCommand */ private $saveCommand; /** * @var DeliveryEstimationInterfaceFactory */ private $entityDataFactory; /** * @param Context $context * @param DataPersistorInterface $dataPersistor * @param SaveCommand $saveCommand * @param DeliveryEstimationInterfaceFactory $entityDataFactory */ public function __construct( Context $context, DataPersistorInterface $dataPersistor, SaveCommand $saveCommand, DeliveryEstimationInterfaceFactory $entityDataFactory ) { parent::__construct($context); $this->dataPersistor = $dataPersistor; $this->saveCommand = $saveCommand; $this->entityDataFactory = $entityDataFactory; } /** * Save DeliveryEstimation Action. * * @return ResponseInterface|ResultInterface */ public function execute() { $resultRedirect = $this->resultRedirectFactory->create(); $params = $this->getRequest()->getParams(); try { /** @var DeliveryEstimationInterface|DataObject $entityModel */ $entityModel = $this->entityDataFactory->create(); $entityModel->addData($params['general']); $this->saveCommand->execute($entityModel); $this->messageManager->addSuccessMessage( __('The Delivery Estimation data was saved successfully') ); $this->dataPersistor->clear('entity'); } catch (CouldNotSaveException $exception) { $this->messageManager->addErrorMessage($exception->getMessage()); $this->dataPersistor->set('entity', $params); return $resultRedirect->setPath('*/*/edit', [ 'entity_id' => $this->getRequest()->getParam('entity_id') ]); } return $resultRedirect->setPath('*/*/'); } }