Skip to content

Commit 878009c

Browse files
author
Yuri Kovsher
committed
MAGETWO-36727: Refactor controller actions in GroupedProduct & ImportExport modules
1 parent 9050f94 commit 878009c

File tree

8 files changed

+107
-97
lines changed

8 files changed

+107
-97
lines changed

app/code/Magento/ImportExport/Controller/Adminhtml/Export.php

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,14 @@
33
* Copyright © 2015 Magento. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
namespace Magento\ImportExport\Controller\Adminhtml;
7+
8+
use Magento\Backend\App\Action;
69

710
/**
811
* Export controller
9-
*
10-
* @author Magento Core Team <core@magentocommerce.com>
1112
*/
12-
namespace Magento\ImportExport\Controller\Adminhtml;
13-
14-
class Export extends \Magento\Backend\App\Action
13+
class Export extends Action
1514
{
1615
/**
1716
* Check access (in the ACL) for current user
Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,57 @@
11
<?php
22
/**
3-
*
43
* Copyright © 2015 Magento. All rights reserved.
54
* See COPYING.txt for license details.
65
*/
76
namespace Magento\ImportExport\Controller\Adminhtml\Export;
87

8+
use Magento\Framework\Controller\ResultFactory;
9+
use Magento\ImportExport\Controller\Adminhtml\Export as ExportController;
10+
use Magento\Backend\App\Action\Context;
11+
use Magento\Framework\App\Response\Http\FileFactory;
12+
use Magento\ImportExport\Model\Export as ExportModel;
913
use Magento\Framework\App\Filesystem\DirectoryList;
14+
use Magento\Framework\Exception\LocalizedException;
1015

11-
class Export extends \Magento\ImportExport\Controller\Adminhtml\Export
16+
class Export extends ExportController
1217
{
1318
/**
1419
* @var \Magento\Framework\App\Response\Http\FileFactory
1520
*/
16-
protected $_fileFactory;
21+
protected $fileFactory;
1722

1823
/**
1924
* @param \Magento\Backend\App\Action\Context $context
2025
* @param \Magento\Framework\App\Response\Http\FileFactory $fileFactory
2126
*/
2227
public function __construct(
23-
\Magento\Backend\App\Action\Context $context,
24-
\Magento\Framework\App\Response\Http\FileFactory $fileFactory
28+
Context $context,
29+
FileFactory $fileFactory
2530
) {
26-
$this->_fileFactory = $fileFactory;
31+
$this->fileFactory = $fileFactory;
2732
parent::__construct($context);
2833
}
2934

3035
/**
3136
* Load data with filter applying and create file for download.
3237
*
33-
* @return $this
38+
* @return \Magento\Backend\Model\View\Result\Redirect
3439
*/
3540
public function execute()
3641
{
37-
if ($this->getRequest()->getPost(\Magento\ImportExport\Model\Export::FILTER_ELEMENT_GROUP)) {
42+
if ($this->getRequest()->getPost(ExportModel::FILTER_ELEMENT_GROUP)) {
3843
try {
3944
/** @var $model \Magento\ImportExport\Model\Export */
4045
$model = $this->_objectManager->create('Magento\ImportExport\Model\Export');
4146
$model->setData($this->getRequest()->getParams());
4247

43-
return $this->_fileFactory->create(
48+
return $this->fileFactory->create(
4449
$model->getFileName(),
4550
$model->export(),
4651
DirectoryList::VAR_DIR,
4752
$model->getContentType()
4853
);
49-
} catch (\Magento\Framework\Exception\LocalizedException $e) {
54+
} catch (LocalizedException $e) {
5055
$this->messageManager->addError($e->getMessage());
5156
} catch (\Exception $e) {
5257
$this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e);
@@ -55,6 +60,9 @@ public function execute()
5560
} else {
5661
$this->messageManager->addError(__('Please correct the data sent.'));
5762
}
58-
return $this->_redirect('adminhtml/*/index');
63+
/** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */
64+
$resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);
65+
$resultRedirect->setPath('adminhtml/*/index');
66+
return $resultRedirect;
5967
}
6068
}
Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,46 @@
11
<?php
22
/**
3-
*
43
* Copyright © 2015 Magento. All rights reserved.
54
* See COPYING.txt for license details.
65
*/
76
namespace Magento\ImportExport\Controller\Adminhtml\Export;
87

9-
class GetFilter extends \Magento\ImportExport\Controller\Adminhtml\Export
8+
use Magento\ImportExport\Controller\Adminhtml\Export as ExportController;
9+
use Magento\Framework\Controller\ResultFactory;
10+
11+
class GetFilter extends ExportController
1012
{
1113
/**
1214
* Get grid-filter of entity attributes action.
1315
*
14-
* @return void
16+
* @return \Magento\Framework\Controller\ResultInterface
1517
*/
1618
public function execute()
1719
{
1820
$data = $this->getRequest()->getParams();
1921
if ($this->getRequest()->isXmlHttpRequest() && $data) {
2022
try {
21-
$this->_view->loadLayout();
22-
23+
/** @var \Magento\Framework\View\Result\Layout $resultLayout */
24+
$resultLayout = $this->resultFactory->create(ResultFactory::TYPE_LAYOUT);
2325
/** @var $attrFilterBlock \Magento\ImportExport\Block\Adminhtml\Export\Filter */
24-
$attrFilterBlock = $this->_view->getLayout()->getBlock('export.filter');
26+
$attrFilterBlock = $resultLayout->getLayout()->getBlock('export.filter');
2527
/** @var $export \Magento\ImportExport\Model\Export */
2628
$export = $this->_objectManager->create('Magento\ImportExport\Model\Export');
2729
$export->setData($data);
2830

2931
$export->filterAttributeCollection(
3032
$attrFilterBlock->prepareCollection($export->getEntityAttributeCollection())
3133
);
32-
$this->_view->renderLayout();
33-
return;
34+
return $resultLayout;
3435
} catch (\Exception $e) {
3536
$this->messageManager->addError($e->getMessage());
3637
}
3738
} else {
3839
$this->messageManager->addError(__('Please correct the data sent.'));
3940
}
40-
$this->_redirect('adminhtml/*/index');
41+
/** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */
42+
$resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);
43+
$resultRedirect->setPath('adminhtml/*/index');
44+
return $resultRedirect;
4145
}
4246
}
Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,28 @@
11
<?php
22
/**
3-
*
43
* Copyright © 2015 Magento. All rights reserved.
54
* See COPYING.txt for license details.
65
*/
76
namespace Magento\ImportExport\Controller\Adminhtml\Export;
87

9-
class Index extends \Magento\ImportExport\Controller\Adminhtml\Export
8+
use Magento\ImportExport\Controller\Adminhtml\Export as ExportController;
9+
use Magento\Framework\Controller\ResultFactory;
10+
11+
class Index extends ExportController
1012
{
1113
/**
1214
* Index action.
1315
*
14-
* @return void
16+
* @return \Magento\Backend\Model\View\Result\Page
1517
*/
1618
public function execute()
1719
{
18-
$this->_view->loadLayout();
19-
$this->_setActiveMenu('Magento_ImportExport::system_convert_export');
20-
$this->_view->getPage()->getConfig()->getTitle()->prepend(__('Import/Export'));
21-
$this->_view->getPage()->getConfig()->getTitle()->prepend(__('Export'));
22-
$this->_addBreadcrumb(__('Export'), __('Export'));
23-
24-
$this->_view->renderLayout();
20+
/** @var \Magento\Backend\Model\View\Result\Page $resultPage */
21+
$resultPage = $this->resultFactory->create(ResultFactory::TYPE_PAGE);
22+
$resultPage->setActiveMenu('Magento_ImportExport::system_convert_export');
23+
$resultPage->getConfig()->getTitle()->prepend(__('Import/Export'));
24+
$resultPage->getConfig()->getTitle()->prepend(__('Export'));
25+
$resultPage->addBreadcrumb(__('Export'), __('Export'));
26+
return $resultPage;
2527
}
2628
}

app/code/Magento/ImportExport/Controller/Adminhtml/Import.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
*/
66
namespace Magento\ImportExport\Controller\Adminhtml;
77

8+
use Magento\Backend\App\Action;
9+
810
/**
911
* Import controller
10-
*
11-
* @author Magento Core Team <core@magentocommerce.com>
1212
*/
13-
class Import extends \Magento\Backend\App\Action
13+
class Import extends Action
1414
{
1515
/**
1616
* Check access (in the ACL) for current user.
Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,31 @@
11
<?php
22
/**
3-
*
43
* Copyright © 2015 Magento. All rights reserved.
54
* See COPYING.txt for license details.
65
*/
76
namespace Magento\ImportExport\Controller\Adminhtml\Import;
87

9-
class Index extends \Magento\ImportExport\Controller\Adminhtml\Import
8+
use Magento\ImportExport\Controller\Adminhtml\Import as ImportController;
9+
use Magento\Framework\Controller\ResultFactory;
10+
11+
class Index extends ImportController
1012
{
1113
/**
1214
* Index action
1315
*
14-
* @return void
16+
* @return \Magento\Backend\Model\View\Result\Page
1517
*/
1618
public function execute()
1719
{
1820
$this->messageManager->addNotice(
1921
$this->_objectManager->get('Magento\ImportExport\Helper\Data')->getMaxUploadSizeMessage()
2022
);
21-
$this->_view->loadLayout();
22-
$this->_setActiveMenu('Magento_ImportExport::system_convert_import');
23-
$this->_view->getPage()->getConfig()->getTitle()->prepend(__('Import/Export'));
24-
$this->_view->getPage()->getConfig()->getTitle()->prepend(__('Import'));
25-
$this->_addBreadcrumb(__('Import'), __('Import'));
26-
$this->_view->renderLayout();
23+
/** @var \Magento\Backend\Model\View\Result\Page $resultPage */
24+
$resultPage = $this->resultFactory->create(ResultFactory::TYPE_PAGE);
25+
$resultPage->setActiveMenu('Magento_ImportExport::system_convert_import');
26+
$resultPage->getConfig()->getTitle()->prepend(__('Import/Export'));
27+
$resultPage->getConfig()->getTitle()->prepend(__('Import'));
28+
$resultPage->addBreadcrumb(__('Import'), __('Import'));
29+
return $resultPage;
2730
}
2831
}
Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,47 @@
11
<?php
22
/**
3-
*
43
* Copyright © 2015 Magento. All rights reserved.
54
* See COPYING.txt for license details.
65
*/
76
namespace Magento\ImportExport\Controller\Adminhtml\Import;
87

9-
class Start extends \Magento\ImportExport\Controller\Adminhtml\Import
8+
use Magento\ImportExport\Controller\Adminhtml\Import as ImportController;
9+
use Magento\Framework\Controller\ResultFactory;
10+
11+
class Start extends ImportController
1012
{
1113
/**
1214
* Start import process action
1315
*
14-
* @return void
16+
* @return \Magento\Framework\Controller\ResultInterface
1517
*/
1618
public function execute()
1719
{
1820
$data = $this->getRequest()->getPostValue();
1921
if ($data) {
20-
$this->_view->loadLayout(false);
21-
22+
/** @var \Magento\Framework\View\Result\Layout $resultLayout */
23+
$resultLayout = $this->resultFactory->create(ResultFactory::TYPE_LAYOUT);
2224
/** @var $resultBlock \Magento\ImportExport\Block\Adminhtml\Import\Frame\Result */
23-
$resultBlock = $this->_view->getLayout()->getBlock('import.frame.result');
25+
$resultBlock = $resultLayout->getLayout()->getBlock('import.frame.result');
2426
/** @var $importModel \Magento\ImportExport\Model\Import */
2527
$importModel = $this->_objectManager->create('Magento\ImportExport\Model\Import');
2628

2729
try {
2830
$importModel->importSource();
2931
$importModel->invalidateIndex();
30-
$resultBlock->addAction(
31-
'show',
32-
'import_validation_container'
33-
)->addAction(
34-
'innerHTML',
35-
'import_validation_container_header',
36-
__('Status')
37-
);
32+
$resultBlock->addAction('show', 'import_validation_container')
33+
->addAction('innerHTML', 'import_validation_container_header', __('Status'));
3834
} catch (\Exception $e) {
3935
$resultBlock->addError($e->getMessage());
40-
$this->_view->renderLayout();
41-
return;
36+
return $resultLayout;
4237
}
43-
$resultBlock->addAction(
44-
'hide',
45-
['edit_form', 'upload_button', 'messages']
46-
)->addSuccess(
47-
__('Import successfully done')
48-
);
49-
$this->_view->renderLayout();
50-
} else {
51-
$this->_redirect('adminhtml/*/index');
38+
$resultBlock->addAction('hide', ['edit_form', 'upload_button', 'messages'])
39+
->addSuccess(__('Import successfully done'));
40+
return $resultLayout;
5241
}
42+
/** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */
43+
$resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);
44+
$resultRedirect->setPath('adminhtml/*/index');
45+
return $resultRedirect;
5346
}
5447
}

0 commit comments

Comments
 (0)