src/module-elasticsuite-thesaurus/Controller/Adminhtml/Thesaurus/Save.php
<?php/** * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade Smile ElasticSuite to newer * versions in the future. * * @category Smile * @package Smile\ElasticsuiteThesaurus * @author Romain Ruaud <romain.ruaud@smile.fr> * @copyright 2020 Smile * @license Open Software License ("OSL") v. 3.0 */namespace Smile\ElasticsuiteThesaurus\Controller\Adminhtml\Thesaurus; use Smile\ElasticsuiteThesaurus\Controller\Adminhtml\AbstractThesaurus as ThesaurusController;Possibly zero references to use statement for classlike/namespace `ThesaurusFactory` `(\Smile\ElasticsuiteThesaurus\Model\ThesaurusFactory)`use Smile\ElasticsuiteThesaurus\Model\ThesaurusFactory; /** * Save action for Thesaurus * * @category Smile * @package Smile\ElasticsuiteThesaurus * @author Romain Ruaud <romain.ruaud@smile.fr> */class Save extends ThesaurusController{ /** * Save a Thesaurus * * @return \Magento\Backend\Model\View\Result\Redirect */Function `execute` has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring. public function execute() { /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */ $resultRedirect = $this->resultRedirectFactory->create(); $data = $this->getRequest()->getPostValue(); $redirectBack = $this->getRequest()->getParam('back', false); if ($data) { $identifier = $this->getRequest()->getParam('thesaurus_id'); $model = $this->thesaurusFactory->create(); if ($identifier) { $model->load($identifier); if (!$model->getThesaurusId()) { $this->messageManager->addError(__('This thesaurus no longer exists.')); return $resultRedirect->setPath('*/*/'); } } $model->setData($data); $storeIds = $this->getRequest()->getParam('stores', null); if ($storeIds) { $model->setStoreIds($storeIds); } try { $this->thesaurusRepository->save($model); $this->messageManager->addSuccess(__('You saved the thesaurus %1.', $model->getName())); $this->_objectManager->get('Magento\Backend\Model\Session')->setFormData(false); if ($redirectBack) { return $resultRedirect->setPath('*/*/edit', ['thesaurus_id' => $model->getId()]); } Avoid too many `return` statements within this method. return $resultRedirect->setPath('*/*/'); } catch (\Exception $e) { $this->messageManager->addError($e->getMessage()); $this->_objectManager->get('Magento\Backend\Model\Session')->setFormData($data); $returnParams = [ 'thesaurus_id' => $this->getRequest()->getParam('thesaurus_id'), 'type' => $this->getRequest()->getParam('type'), ]; Avoid too many `return` statements within this method. return $resultRedirect->setPath('*/*/edit', $returnParams); } } Avoid too many `return` statements within this method. return $resultRedirect->setPath('*/*/'); }}