Skip to content

Commit dfd7e03

Browse files
committed
Merge pull request #211 from magento-tango/S50
[Tango] Default Exception Handler for Controllers
2 parents 9ae0a13 + 677e8cb commit dfd7e03

File tree

579 files changed

+3409
-3890
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

579 files changed

+3409
-3890
lines changed

app/code/Magento/Backend/App/Action/Context.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ class Context extends \Magento\Framework\App\Action\Context
6161
* @param \Magento\Framework\App\ActionFlag $actionFlag
6262
* @param \Magento\Framework\App\ViewInterface $view
6363
* @param \Magento\Framework\Message\ManagerInterface $messageManager
64+
* @param \Magento\Backend\Model\View\Result\RedirectFactory $resultRedirectFactory
6465
* @param \Magento\Backend\Model\Session $session
6566
* @param \Magento\Framework\AuthorizationInterface $authorization
6667
* @param \Magento\Backend\Model\Auth $auth
@@ -81,6 +82,7 @@ public function __construct(
8182
\Magento\Framework\App\ActionFlag $actionFlag,
8283
\Magento\Framework\App\ViewInterface $view,
8384
\Magento\Framework\Message\ManagerInterface $messageManager,
85+
\Magento\Backend\Model\View\Result\RedirectFactory $resultRedirectFactory,
8486
\Magento\Backend\Model\Session $session,
8587
\Magento\Framework\AuthorizationInterface $authorization,
8688
\Magento\Backend\Model\Auth $auth,
@@ -99,7 +101,8 @@ public function __construct(
99101
$redirect,
100102
$actionFlag,
101103
$view,
102-
$messageManager
104+
$messageManager,
105+
$resultRedirectFactory
103106
);
104107

105108
$this->_session = $session;

app/code/Magento/Backend/Controller/Adminhtml/Auth/Login.php

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,25 +13,17 @@ class Login extends \Magento\Backend\Controller\Adminhtml\Auth
1313
*/
1414
protected $resultPageFactory;
1515

16-
/**
17-
* @var \Magento\Backend\Model\View\Result\RedirectFactory
18-
*/
19-
protected $resultRedirectFactory;
20-
2116
/**
2217
* Constructor
2318
*
2419
* @param \Magento\Backend\App\Action\Context $context
2520
* @param \Magento\Framework\View\Result\PageFactory $resultPageFactory
26-
* @param \Magento\Backend\Model\View\Result\RedirectFactory $resultRedirectFactory
2721
*/
2822
public function __construct(
2923
\Magento\Backend\App\Action\Context $context,
30-
\Magento\Framework\View\Result\PageFactory $resultPageFactory,
31-
\Magento\Backend\Model\View\Result\RedirectFactory $resultRedirectFactory
24+
\Magento\Framework\View\Result\PageFactory $resultPageFactory
3225
) {
3326
$this->resultPageFactory = $resultPageFactory;
34-
$this->resultRedirectFactory = $resultRedirectFactory;
3527
parent::__construct($context);
3628
}
3729

app/code/Magento/Backend/Controller/Adminhtml/Auth/Logout.php

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,6 @@
88

99
class Logout extends \Magento\Backend\Controller\Adminhtml\Auth
1010
{
11-
/**
12-
* @var \Magento\Backend\Model\View\Result\RedirectFactory
13-
*/
14-
protected $resultRedirectFactory;
15-
16-
/**
17-
* @param \Magento\Backend\App\Action\Context $context
18-
* @param \Magento\Backend\Model\View\Result\RedirectFactory $resultRedirectFactory
19-
*/
20-
public function __construct(
21-
\Magento\Backend\App\Action\Context $context,
22-
\Magento\Backend\Model\View\Result\RedirectFactory $resultRedirectFactory
23-
) {
24-
parent::__construct($context);
25-
$this->resultRedirectFactory = $resultRedirectFactory;
26-
}
27-
2811
/**
2912
* Administrator logout action
3013
*

app/code/Magento/Backend/Controller/Adminhtml/Cache.php

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,6 @@ class Cache extends Action
2525
*/
2626
protected $_cacheFrontendPool;
2727

28-
/**
29-
* @var \Magento\Backend\Model\View\Result\RedirectFactory
30-
*/
31-
protected $resultRedirectFactory;
32-
3328
/**
3429
* @var \Magento\Framework\View\Result\PageFactory
3530
*/
@@ -40,22 +35,19 @@ class Cache extends Action
4035
* @param \Magento\Framework\App\Cache\TypeListInterface $cacheTypeList
4136
* @param \Magento\Framework\App\Cache\StateInterface $cacheState
4237
* @param \Magento\Framework\App\Cache\Frontend\Pool $cacheFrontendPool
43-
* @param \Magento\Backend\Model\View\Result\RedirectFactory $resultRedirectFactory
4438
* @param \Magento\Framework\View\Result\PageFactory $resultPageFactory
4539
*/
4640
public function __construct(
4741
Action\Context $context,
4842
\Magento\Framework\App\Cache\TypeListInterface $cacheTypeList,
4943
\Magento\Framework\App\Cache\StateInterface $cacheState,
5044
\Magento\Framework\App\Cache\Frontend\Pool $cacheFrontendPool,
51-
\Magento\Backend\Model\View\Result\RedirectFactory $resultRedirectFactory,
5245
\Magento\Framework\View\Result\PageFactory $resultPageFactory
5346
) {
5447
parent::__construct($context);
5548
$this->_cacheTypeList = $cacheTypeList;
5649
$this->_cacheState = $cacheState;
5750
$this->_cacheFrontendPool = $cacheFrontendPool;
58-
$this->resultRedirectFactory = $resultRedirectFactory;
5951
$this->resultPageFactory = $resultPageFactory;
6052
}
6153

app/code/Magento/Backend/Controller/Adminhtml/Cache/CleanImages.php

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,24 @@ class CleanImages extends \Magento\Backend\Controller\Adminhtml\Cache
1414
* Clean JS/css files cache
1515
*
1616
* @return \Magento\Backend\Model\View\Result\Redirect
17+
* @throws LocalizedException
1718
*/
1819
public function execute()
1920
{
20-
try {
21-
$this->_objectManager->create('Magento\Catalog\Model\Product\Image')->clearCache();
22-
$this->_eventManager->dispatch('clean_catalog_images_cache_after');
23-
$this->messageManager->addSuccess(__('The image cache was cleaned.'));
24-
} catch (LocalizedException $e) {
25-
$this->messageManager->addError($e->getMessage());
26-
} catch (\Exception $e) {
27-
$this->messageManager->addException($e, __('An error occurred while clearing the image cache.'));
28-
}
29-
/** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */
21+
$this->_objectManager->create('Magento\Catalog\Model\Product\Image')->clearCache();
22+
$this->_eventManager->dispatch('clean_catalog_images_cache_after');
23+
$this->messageManager->addSuccess(__('The image cache was cleaned.'));
24+
25+
return $this->getDefaultResult();
26+
}
27+
28+
/**
29+
* {@inheritdoc}
30+
*
31+
* @return \Magento\Backend\Model\View\Result\Redirect
32+
*/
33+
public function getDefaultResult()
34+
{
3035
$resultRedirect = $this->resultRedirectFactory->create();
3136
return $resultRedirect->setPath('adminhtml/*');
3237
}

app/code/Magento/Backend/Controller/Adminhtml/Cache/CleanMedia.php

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,24 @@ class CleanMedia extends \Magento\Backend\Controller\Adminhtml\Cache
1414
* Clean JS/css files cache
1515
*
1616
* @return \Magento\Backend\Model\View\Result\Redirect
17+
* @throws LocalizedException
1718
*/
1819
public function execute()
1920
{
20-
try {
21-
$this->_objectManager->get('Magento\Framework\View\Asset\MergeService')->cleanMergedJsCss();
22-
$this->_eventManager->dispatch('clean_media_cache_after');
23-
$this->messageManager->addSuccess(__('The JavaScript/CSS cache has been cleaned.'));
24-
} catch (LocalizedException $e) {
25-
$this->messageManager->addError($e->getMessage());
26-
} catch (\Exception $e) {
27-
$this->messageManager->addException($e, __('An error occurred while clearing the JavaScript/CSS cache.'));
28-
}
29-
/** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */
21+
$this->_objectManager->get('Magento\Framework\View\Asset\MergeService')->cleanMergedJsCss();
22+
$this->_eventManager->dispatch('clean_media_cache_after');
23+
$this->messageManager->addSuccess(__('The JavaScript/CSS cache has been cleaned.'));
24+
25+
return $this->getDefaultResult();
26+
}
27+
28+
/**
29+
* {@inheritdoc}
30+
*
31+
* @return \Magento\Backend\Model\View\Result\Redirect
32+
*/
33+
public function getDefaultResult()
34+
{
3035
$resultRedirect = $this->resultRedirectFactory->create();
3136
return $resultRedirect->setPath('adminhtml/*');
3237
}

app/code/Magento/Backend/Controller/Adminhtml/Cache/MassDisable.php

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,33 +14,38 @@ class MassDisable extends \Magento\Backend\Controller\Adminhtml\Cache
1414
* Mass action for cache disabling
1515
*
1616
* @return \Magento\Backend\Model\View\Result\Redirect
17+
* @throws \Magento\Framework\Exception\LocalizedException|\Exception
1718
*/
1819
public function execute()
1920
{
20-
try {
21-
$types = $this->getRequest()->getParam('types');
22-
$updatedTypes = 0;
23-
if (!is_array($types)) {
24-
$types = [];
25-
}
26-
$this->_validateTypes($types);
27-
foreach ($types as $code) {
28-
if ($this->_cacheState->isEnabled($code)) {
29-
$this->_cacheState->setEnabled($code, false);
30-
$updatedTypes++;
31-
}
32-
$this->_cacheTypeList->cleanType($code);
33-
}
34-
if ($updatedTypes > 0) {
35-
$this->_cacheState->persist();
36-
$this->messageManager->addSuccess(__("%1 cache type(s) disabled.", $updatedTypes));
21+
$types = $this->getRequest()->getParam('types');
22+
$updatedTypes = 0;
23+
if (!is_array($types)) {
24+
$types = [];
25+
}
26+
$this->_validateTypes($types);
27+
foreach ($types as $code) {
28+
if ($this->_cacheState->isEnabled($code)) {
29+
$this->_cacheState->setEnabled($code, false);
30+
$updatedTypes++;
3731
}
38-
} catch (LocalizedException $e) {
39-
$this->messageManager->addError($e->getMessage());
40-
} catch (\Exception $e) {
41-
$this->messageManager->addException($e, __('An error occurred while disabling cache.'));
32+
$this->_cacheTypeList->cleanType($code);
4233
}
43-
/** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */
34+
if ($updatedTypes > 0) {
35+
$this->_cacheState->persist();
36+
$this->messageManager->addSuccess(__("%1 cache type(s) disabled.", $updatedTypes));
37+
}
38+
39+
return $this->getDefaultResult();
40+
}
41+
42+
/**
43+
* {@inheritdoc}
44+
*
45+
* @return \Magento\Backend\Model\View\Result\Redirect
46+
*/
47+
public function getDefaultResult()
48+
{
4449
$resultRedirect = $this->resultRedirectFactory->create();
4550
return $resultRedirect->setPath('adminhtml/*');
4651
}

app/code/Magento/Backend/Controller/Adminhtml/Cache/MassEnable.php

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -14,32 +14,37 @@ class MassEnable extends \Magento\Backend\Controller\Adminhtml\Cache
1414
* Mass action for cache enabling
1515
*
1616
* @return \Magento\Backend\Model\View\Result\Redirect
17+
* @throws \Magento\Framework\Exception\LocalizedException|\Exception
1718
*/
1819
public function execute()
1920
{
20-
try {
21-
$types = $this->getRequest()->getParam('types');
22-
$updatedTypes = 0;
23-
if (!is_array($types)) {
24-
$types = [];
25-
}
26-
$this->_validateTypes($types);
27-
foreach ($types as $code) {
28-
if (!$this->_cacheState->isEnabled($code)) {
29-
$this->_cacheState->setEnabled($code, true);
30-
$updatedTypes++;
31-
}
32-
}
33-
if ($updatedTypes > 0) {
34-
$this->_cacheState->persist();
35-
$this->messageManager->addSuccess(__("%1 cache type(s) enabled.", $updatedTypes));
21+
$types = $this->getRequest()->getParam('types');
22+
$updatedTypes = 0;
23+
if (!is_array($types)) {
24+
$types = [];
25+
}
26+
$this->_validateTypes($types);
27+
foreach ($types as $code) {
28+
if (!$this->_cacheState->isEnabled($code)) {
29+
$this->_cacheState->setEnabled($code, true);
30+
$updatedTypes++;
3631
}
37-
} catch (LocalizedException $e) {
38-
$this->messageManager->addError($e->getMessage());
39-
} catch (\Exception $e) {
40-
$this->messageManager->addException($e, __('An error occurred while enabling cache.'));
4132
}
42-
/** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */
33+
if ($updatedTypes > 0) {
34+
$this->_cacheState->persist();
35+
$this->messageManager->addSuccess(__("%1 cache type(s) enabled.", $updatedTypes));
36+
}
37+
38+
return $this->getDefaultResult();
39+
}
40+
41+
/**
42+
* {@inheritdoc}
43+
*
44+
* @return \Magento\Backend\Model\View\Result\Redirect
45+
*/
46+
public function getDefaultResult()
47+
{
4348
$resultRedirect = $this->resultRedirectFactory->create();
4449
return $resultRedirect->setPath('adminhtml/*');
4550
}

app/code/Magento/Backend/Controller/Adminhtml/Cache/MassRefresh.php

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,38 +6,41 @@
66
*/
77
namespace Magento\Backend\Controller\Adminhtml\Cache;
88

9-
use Magento\Framework\Exception\LocalizedException;
10-
119
class MassRefresh extends \Magento\Backend\Controller\Adminhtml\Cache
1210
{
1311
/**
1412
* Mass action for cache refresh
1513
*
1614
* @return \Magento\Backend\Model\View\Result\Redirect
15+
* @throws \Magento\Framework\Exception\LocalizedException|\Exception
1716
*/
1817
public function execute()
1918
{
20-
try {
21-
$types = $this->getRequest()->getParam('types');
22-
$updatedTypes = 0;
23-
if (!is_array($types)) {
24-
$types = [];
25-
}
26-
$this->_validateTypes($types);
27-
foreach ($types as $type) {
28-
$this->_cacheTypeList->cleanType($type);
29-
$this->_eventManager->dispatch('adminhtml_cache_refresh_type', ['type' => $type]);
30-
$updatedTypes++;
31-
}
32-
if ($updatedTypes > 0) {
33-
$this->messageManager->addSuccess(__("%1 cache type(s) refreshed.", $updatedTypes));
34-
}
35-
} catch (LocalizedException $e) {
36-
$this->messageManager->addError($e->getMessage());
37-
} catch (\Exception $e) {
38-
$this->messageManager->addException($e, __('An error occurred while refreshing cache.'));
19+
$types = $this->getRequest()->getParam('types');
20+
$updatedTypes = 0;
21+
if (!is_array($types)) {
22+
$types = [];
23+
}
24+
$this->_validateTypes($types);
25+
foreach ($types as $type) {
26+
$this->_cacheTypeList->cleanType($type);
27+
$this->_eventManager->dispatch('adminhtml_cache_refresh_type', ['type' => $type]);
28+
$updatedTypes++;
29+
}
30+
if ($updatedTypes > 0) {
31+
$this->messageManager->addSuccess(__("%1 cache type(s) refreshed.", $updatedTypes));
3932
}
40-
/** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */
33+
34+
return $this->getDefaultResult();
35+
}
36+
37+
/**
38+
* {@inheritdoc}
39+
*
40+
* @return \Magento\Backend\Model\View\Result\Redirect
41+
*/
42+
public function getDefaultResult()
43+
{
4144
$resultRedirect = $this->resultRedirectFactory->create();
4245
return $resultRedirect->setPath('adminhtml/*');
4346
}

0 commit comments

Comments
 (0)