From ef4107075cabb36bf8f052d7f0225c8b2094266c Mon Sep 17 00:00:00 2001 From: abelm Date: Mon, 22 May 2017 15:24:55 -0400 Subject: [PATCH] Added configuration in the Admin --- Helper/Data.php | 21 ++++++++++++++++ Model/Config/Source/Custom.php | 21 ++++++++++++++++ Observer/DisableFrontend.php | 46 +++++++++++++++++++++------------- composer.json | 2 +- etc/adminhtml/system.xml | 14 +++++++++++ etc/module.xml | 2 +- 6 files changed, 87 insertions(+), 19 deletions(-) create mode 100644 Helper/Data.php create mode 100644 Model/Config/Source/Custom.php create mode 100644 etc/adminhtml/system.xml diff --git a/Helper/Data.php b/Helper/Data.php new file mode 100644 index 0000000..9fa45d3 --- /dev/null +++ b/Helper/Data.php @@ -0,0 +1,21 @@ + + * @return mixed + */ + public function getConfigValue() { + return $this->scopeConfig->getValue( + 'admin/disable_frontend/show_as_frontend', ScopeInterface::SCOPE_WEBSITE + ); + } +} \ No newline at end of file diff --git a/Model/Config/Source/Custom.php b/Model/Config/Source/Custom.php new file mode 100644 index 0000000..3520490 --- /dev/null +++ b/Model/Config/Source/Custom.php @@ -0,0 +1,21 @@ + + * @return array + */ + public function toOptionArray() + { + + return [ + ['value' => 0, 'label' => __('Blank Page')], + ['value' => 1, 'label' => __('Admin')], + ]; + } +} \ No newline at end of file diff --git a/Observer/DisableFrontend.php b/Observer/DisableFrontend.php index 8b2a7a6..2712381 100644 --- a/Observer/DisableFrontend.php +++ b/Observer/DisableFrontend.php @@ -1,49 +1,61 @@ - * @param \Magento\Framework\App\ActionFlag $actionFlag - * @param \Magento\Framework\Message\ManagerInterface $messageManager - * @param \Magento\Framework\App\Response\RedirectInterface $redirect - * @param \Magento\Backend\Helper\Data $HelperBackend + * DisableFrontend constructor. + * + * @author Abel Bolanos Martinez + * @param ActionFlag $actionFlag + * @param RedirectInterface $redirect + * @param Data $helperBackend + * @param DisableFrontendHelper $disableFrontendHelper * @param \Psr\Log\LoggerInterface $logger */ public function __construct( - \Magento\Framework\App\ActionFlag $actionFlag, - \Magento\Framework\App\Response\RedirectInterface $redirect, - \Magento\Backend\Helper\Data $HelperBackend, + ActionFlag $actionFlag, + RedirectInterface $redirect, + Data $helperBackend, + DisableFrontendHelper $disableFrontendHelper, \Psr\Log\LoggerInterface $logger ) { $this->_actionFlag = $actionFlag; $this->redirect = $redirect; - $this->HelperBackend = $HelperBackend; + $this->helperBackend = $helperBackend; $this->logger = $logger; + $this->disableFrontendHelper = $disableFrontendHelper; } /** + * Show an empty page(default) or redirect to Admin site. + * Depend in the config in + * Stores > Configuration > Advanced > Admin > Disable Frontend * * @author Abel Bolanos Martinez * @param \Magento\Framework\Event\Observer $observer * @return void */ public function execute(\Magento\Framework\Event\Observer $observer){ - - //$this->logger->info('TEST LOGGER'); + + //$this->logger->info('TEST'); $this->_actionFlag->set('', \Magento\Framework\App\Action\Action::FLAG_NO_DISPATCH, true); - //custom redirect - //$controller = $observer->getControllerAction(); - //$this->redirect->redirect($controller->getResponse(),$this->HelperBackend->getHomePageUrl()); + if($this->disableFrontendHelper->getConfigValue()){//redirect to Admin + $controller = $observer->getControllerAction(); + $this->redirect->redirect($controller->getResponse(),$this->helperBackend->getHomePageUrl()); + } } } \ No newline at end of file diff --git a/composer.json b/composer.json index 5455747..8883c01 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,7 @@ "php": "~5.5.0|~5.6.0|~7.0.0" }, "type": "magento2-module", - "version": "1.0.3", + "version": "1.1.0", "license": [ "AGPL-3.0" ], diff --git a/etc/adminhtml/system.xml b/etc/adminhtml/system.xml new file mode 100644 index 0000000..3b4a401 --- /dev/null +++ b/etc/adminhtml/system.xml @@ -0,0 +1,14 @@ + + + +
+ + + + + Abelbm\DisableFrontend\Model\Config\Source\Custom + + +
+
+
\ No newline at end of file diff --git a/etc/module.xml b/etc/module.xml index 7a6e9c5..c387abd 100644 --- a/etc/module.xml +++ b/etc/module.xml @@ -1,6 +1,6 @@ - +