Skip to content

Commit

Permalink
Merge pull request #211 from magento-tango/S50
Browse files Browse the repository at this point in the history
[Tango] Default Exception Handler for Controllers
  • Loading branch information
vpelipenko committed Apr 3, 2015
2 parents 9ae0a13 + 677e8cb commit dfd7e03
Show file tree
Hide file tree
Showing 579 changed files with 3,409 additions and 3,890 deletions.
5 changes: 4 additions & 1 deletion app/code/Magento/Backend/App/Action/Context.php
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ class Context extends \Magento\Framework\App\Action\Context
* @param \Magento\Framework\App\ActionFlag $actionFlag
* @param \Magento\Framework\App\ViewInterface $view
* @param \Magento\Framework\Message\ManagerInterface $messageManager
* @param \Magento\Backend\Model\View\Result\RedirectFactory $resultRedirectFactory
* @param \Magento\Backend\Model\Session $session
* @param \Magento\Framework\AuthorizationInterface $authorization
* @param \Magento\Backend\Model\Auth $auth
Expand All @@ -81,6 +82,7 @@ public function __construct(
\Magento\Framework\App\ActionFlag $actionFlag,
\Magento\Framework\App\ViewInterface $view,
\Magento\Framework\Message\ManagerInterface $messageManager,
\Magento\Backend\Model\View\Result\RedirectFactory $resultRedirectFactory,
\Magento\Backend\Model\Session $session,
\Magento\Framework\AuthorizationInterface $authorization,
\Magento\Backend\Model\Auth $auth,
Expand All @@ -99,7 +101,8 @@ public function __construct(
$redirect,
$actionFlag,
$view,
$messageManager
$messageManager,
$resultRedirectFactory
);

$this->_session = $session;
Expand Down
10 changes: 1 addition & 9 deletions app/code/Magento/Backend/Controller/Adminhtml/Auth/Login.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,25 +13,17 @@ class Login extends \Magento\Backend\Controller\Adminhtml\Auth
*/
protected $resultPageFactory;

/**
* @var \Magento\Backend\Model\View\Result\RedirectFactory
*/
protected $resultRedirectFactory;

/**
* Constructor
*
* @param \Magento\Backend\App\Action\Context $context
* @param \Magento\Framework\View\Result\PageFactory $resultPageFactory
* @param \Magento\Backend\Model\View\Result\RedirectFactory $resultRedirectFactory
*/
public function __construct(
\Magento\Backend\App\Action\Context $context,
\Magento\Framework\View\Result\PageFactory $resultPageFactory,
\Magento\Backend\Model\View\Result\RedirectFactory $resultRedirectFactory
\Magento\Framework\View\Result\PageFactory $resultPageFactory
) {
$this->resultPageFactory = $resultPageFactory;
$this->resultRedirectFactory = $resultRedirectFactory;
parent::__construct($context);
}

Expand Down
17 changes: 0 additions & 17 deletions app/code/Magento/Backend/Controller/Adminhtml/Auth/Logout.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,6 @@

class Logout extends \Magento\Backend\Controller\Adminhtml\Auth
{
/**
* @var \Magento\Backend\Model\View\Result\RedirectFactory
*/
protected $resultRedirectFactory;

/**
* @param \Magento\Backend\App\Action\Context $context
* @param \Magento\Backend\Model\View\Result\RedirectFactory $resultRedirectFactory
*/
public function __construct(
\Magento\Backend\App\Action\Context $context,
\Magento\Backend\Model\View\Result\RedirectFactory $resultRedirectFactory
) {
parent::__construct($context);
$this->resultRedirectFactory = $resultRedirectFactory;
}

/**
* Administrator logout action
*
Expand Down
8 changes: 0 additions & 8 deletions app/code/Magento/Backend/Controller/Adminhtml/Cache.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,6 @@ class Cache extends Action
*/
protected $_cacheFrontendPool;

/**
* @var \Magento\Backend\Model\View\Result\RedirectFactory
*/
protected $resultRedirectFactory;

/**
* @var \Magento\Framework\View\Result\PageFactory
*/
Expand All @@ -40,22 +35,19 @@ class Cache extends Action
* @param \Magento\Framework\App\Cache\TypeListInterface $cacheTypeList
* @param \Magento\Framework\App\Cache\StateInterface $cacheState
* @param \Magento\Framework\App\Cache\Frontend\Pool $cacheFrontendPool
* @param \Magento\Backend\Model\View\Result\RedirectFactory $resultRedirectFactory
* @param \Magento\Framework\View\Result\PageFactory $resultPageFactory
*/
public function __construct(
Action\Context $context,
\Magento\Framework\App\Cache\TypeListInterface $cacheTypeList,
\Magento\Framework\App\Cache\StateInterface $cacheState,
\Magento\Framework\App\Cache\Frontend\Pool $cacheFrontendPool,
\Magento\Backend\Model\View\Result\RedirectFactory $resultRedirectFactory,
\Magento\Framework\View\Result\PageFactory $resultPageFactory
) {
parent::__construct($context);
$this->_cacheTypeList = $cacheTypeList;
$this->_cacheState = $cacheState;
$this->_cacheFrontendPool = $cacheFrontendPool;
$this->resultRedirectFactory = $resultRedirectFactory;
$this->resultPageFactory = $resultPageFactory;
}

Expand Down
25 changes: 15 additions & 10 deletions app/code/Magento/Backend/Controller/Adminhtml/Cache/CleanImages.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,24 @@ class CleanImages extends \Magento\Backend\Controller\Adminhtml\Cache
* Clean JS/css files cache
*
* @return \Magento\Backend\Model\View\Result\Redirect
* @throws LocalizedException
*/
public function execute()
{
try {
$this->_objectManager->create('Magento\Catalog\Model\Product\Image')->clearCache();
$this->_eventManager->dispatch('clean_catalog_images_cache_after');
$this->messageManager->addSuccess(__('The image cache was cleaned.'));
} catch (LocalizedException $e) {
$this->messageManager->addError($e->getMessage());
} catch (\Exception $e) {
$this->messageManager->addException($e, __('An error occurred while clearing the image cache.'));
}
/** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */
$this->_objectManager->create('Magento\Catalog\Model\Product\Image')->clearCache();
$this->_eventManager->dispatch('clean_catalog_images_cache_after');
$this->messageManager->addSuccess(__('The image cache was cleaned.'));

return $this->getDefaultResult();
}

/**
* {@inheritdoc}
*
* @return \Magento\Backend\Model\View\Result\Redirect
*/
public function getDefaultResult()
{
$resultRedirect = $this->resultRedirectFactory->create();
return $resultRedirect->setPath('adminhtml/*');
}
Expand Down
25 changes: 15 additions & 10 deletions app/code/Magento/Backend/Controller/Adminhtml/Cache/CleanMedia.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,24 @@ class CleanMedia extends \Magento\Backend\Controller\Adminhtml\Cache
* Clean JS/css files cache
*
* @return \Magento\Backend\Model\View\Result\Redirect
* @throws LocalizedException
*/
public function execute()
{
try {
$this->_objectManager->get('Magento\Framework\View\Asset\MergeService')->cleanMergedJsCss();
$this->_eventManager->dispatch('clean_media_cache_after');
$this->messageManager->addSuccess(__('The JavaScript/CSS cache has been cleaned.'));
} catch (LocalizedException $e) {
$this->messageManager->addError($e->getMessage());
} catch (\Exception $e) {
$this->messageManager->addException($e, __('An error occurred while clearing the JavaScript/CSS cache.'));
}
/** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */
$this->_objectManager->get('Magento\Framework\View\Asset\MergeService')->cleanMergedJsCss();
$this->_eventManager->dispatch('clean_media_cache_after');
$this->messageManager->addSuccess(__('The JavaScript/CSS cache has been cleaned.'));

return $this->getDefaultResult();
}

/**
* {@inheritdoc}
*
* @return \Magento\Backend\Model\View\Result\Redirect
*/
public function getDefaultResult()
{
$resultRedirect = $this->resultRedirectFactory->create();
return $resultRedirect->setPath('adminhtml/*');
}
Expand Down
49 changes: 27 additions & 22 deletions app/code/Magento/Backend/Controller/Adminhtml/Cache/MassDisable.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,33 +14,38 @@ class MassDisable extends \Magento\Backend\Controller\Adminhtml\Cache
* Mass action for cache disabling
*
* @return \Magento\Backend\Model\View\Result\Redirect
* @throws \Magento\Framework\Exception\LocalizedException|\Exception
*/
public function execute()
{
try {
$types = $this->getRequest()->getParam('types');
$updatedTypes = 0;
if (!is_array($types)) {
$types = [];
}
$this->_validateTypes($types);
foreach ($types as $code) {
if ($this->_cacheState->isEnabled($code)) {
$this->_cacheState->setEnabled($code, false);
$updatedTypes++;
}
$this->_cacheTypeList->cleanType($code);
}
if ($updatedTypes > 0) {
$this->_cacheState->persist();
$this->messageManager->addSuccess(__("%1 cache type(s) disabled.", $updatedTypes));
$types = $this->getRequest()->getParam('types');
$updatedTypes = 0;
if (!is_array($types)) {
$types = [];
}
$this->_validateTypes($types);
foreach ($types as $code) {
if ($this->_cacheState->isEnabled($code)) {
$this->_cacheState->setEnabled($code, false);
$updatedTypes++;
}
} catch (LocalizedException $e) {
$this->messageManager->addError($e->getMessage());
} catch (\Exception $e) {
$this->messageManager->addException($e, __('An error occurred while disabling cache.'));
$this->_cacheTypeList->cleanType($code);
}
/** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */
if ($updatedTypes > 0) {
$this->_cacheState->persist();
$this->messageManager->addSuccess(__("%1 cache type(s) disabled.", $updatedTypes));
}

return $this->getDefaultResult();
}

/**
* {@inheritdoc}
*
* @return \Magento\Backend\Model\View\Result\Redirect
*/
public function getDefaultResult()
{
$resultRedirect = $this->resultRedirectFactory->create();
return $resultRedirect->setPath('adminhtml/*');
}
Expand Down
47 changes: 26 additions & 21 deletions app/code/Magento/Backend/Controller/Adminhtml/Cache/MassEnable.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,32 +14,37 @@ class MassEnable extends \Magento\Backend\Controller\Adminhtml\Cache
* Mass action for cache enabling
*
* @return \Magento\Backend\Model\View\Result\Redirect
* @throws \Magento\Framework\Exception\LocalizedException|\Exception
*/
public function execute()
{
try {
$types = $this->getRequest()->getParam('types');
$updatedTypes = 0;
if (!is_array($types)) {
$types = [];
}
$this->_validateTypes($types);
foreach ($types as $code) {
if (!$this->_cacheState->isEnabled($code)) {
$this->_cacheState->setEnabled($code, true);
$updatedTypes++;
}
}
if ($updatedTypes > 0) {
$this->_cacheState->persist();
$this->messageManager->addSuccess(__("%1 cache type(s) enabled.", $updatedTypes));
$types = $this->getRequest()->getParam('types');
$updatedTypes = 0;
if (!is_array($types)) {
$types = [];
}
$this->_validateTypes($types);
foreach ($types as $code) {
if (!$this->_cacheState->isEnabled($code)) {
$this->_cacheState->setEnabled($code, true);
$updatedTypes++;
}
} catch (LocalizedException $e) {
$this->messageManager->addError($e->getMessage());
} catch (\Exception $e) {
$this->messageManager->addException($e, __('An error occurred while enabling cache.'));
}
/** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */
if ($updatedTypes > 0) {
$this->_cacheState->persist();
$this->messageManager->addSuccess(__("%1 cache type(s) enabled.", $updatedTypes));
}

return $this->getDefaultResult();
}

/**
* {@inheritdoc}
*
* @return \Magento\Backend\Model\View\Result\Redirect
*/
public function getDefaultResult()
{
$resultRedirect = $this->resultRedirectFactory->create();
return $resultRedirect->setPath('adminhtml/*');
}
Expand Down
47 changes: 25 additions & 22 deletions app/code/Magento/Backend/Controller/Adminhtml/Cache/MassRefresh.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,38 +6,41 @@
*/
namespace Magento\Backend\Controller\Adminhtml\Cache;

use Magento\Framework\Exception\LocalizedException;

class MassRefresh extends \Magento\Backend\Controller\Adminhtml\Cache
{
/**
* Mass action for cache refresh
*
* @return \Magento\Backend\Model\View\Result\Redirect
* @throws \Magento\Framework\Exception\LocalizedException|\Exception
*/
public function execute()
{
try {
$types = $this->getRequest()->getParam('types');
$updatedTypes = 0;
if (!is_array($types)) {
$types = [];
}
$this->_validateTypes($types);
foreach ($types as $type) {
$this->_cacheTypeList->cleanType($type);
$this->_eventManager->dispatch('adminhtml_cache_refresh_type', ['type' => $type]);
$updatedTypes++;
}
if ($updatedTypes > 0) {
$this->messageManager->addSuccess(__("%1 cache type(s) refreshed.", $updatedTypes));
}
} catch (LocalizedException $e) {
$this->messageManager->addError($e->getMessage());
} catch (\Exception $e) {
$this->messageManager->addException($e, __('An error occurred while refreshing cache.'));
$types = $this->getRequest()->getParam('types');
$updatedTypes = 0;
if (!is_array($types)) {
$types = [];
}
$this->_validateTypes($types);
foreach ($types as $type) {
$this->_cacheTypeList->cleanType($type);
$this->_eventManager->dispatch('adminhtml_cache_refresh_type', ['type' => $type]);
$updatedTypes++;
}
if ($updatedTypes > 0) {
$this->messageManager->addSuccess(__("%1 cache type(s) refreshed.", $updatedTypes));
}
/** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */

return $this->getDefaultResult();
}

/**
* {@inheritdoc}
*
* @return \Magento\Backend\Model\View\Result\Redirect
*/
public function getDefaultResult()
{
$resultRedirect = $this->resultRedirectFactory->create();
return $resultRedirect->setPath('adminhtml/*');
}
Expand Down
Loading

0 comments on commit dfd7e03

Please sign in to comment.