Skip to content

Commit 39465ac

Browse files
ENGCOM-2210: admin checkout agreement controllers refactor #16505
- Merge Pull Request #16505 from AnshuMishra17/magento2:admin-checkout-agreement-refactor - Merged commits: 1. 4746315 2. c0c5bb6 3. 54bc4e3 4. b871f16
2 parents 9e5f485 + b871f16 commit 39465ac

File tree

4 files changed

+104
-19
lines changed

4 files changed

+104
-19
lines changed

app/code/Magento/CheckoutAgreements/Controller/Adminhtml/Agreement.php

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

8-
abstract class Agreement extends \Magento\Backend\App\Action
8+
use Magento\Backend\App\Action;
9+
use Magento\Backend\App\Action\Context;
10+
use Magento\Framework\Registry;
11+
12+
abstract class Agreement extends Action
913
{
1014
/**
1115
* Authorization level of a basic admin session
@@ -22,12 +26,14 @@ abstract class Agreement extends \Magento\Backend\App\Action
2226
protected $_coreRegistry = null;
2327

2428
/**
25-
* @param \Magento\Backend\App\Action\Context $context
26-
* @param \Magento\Framework\Registry $coreRegistry
29+
* @param Context $context
30+
* @param Registry $coreRegistry
2731
* @codeCoverageIgnore
2832
*/
29-
public function __construct(\Magento\Backend\App\Action\Context $context, \Magento\Framework\Registry $coreRegistry)
30-
{
33+
public function __construct(
34+
Context $context,
35+
Registry $coreRegistry
36+
) {
3137
$this->_coreRegistry = $coreRegistry;
3238
parent::__construct($context);
3339
}

app/code/Magento/CheckoutAgreements/Controller/Adminhtml/Agreement/Delete.php

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,53 @@
66
*/
77
namespace Magento\CheckoutAgreements\Controller\Adminhtml\Agreement;
88

9-
class Delete extends \Magento\CheckoutAgreements\Controller\Adminhtml\Agreement
9+
use Magento\CheckoutAgreements\Api\CheckoutAgreementsRepositoryInterface;
10+
use Magento\CheckoutAgreements\Controller\Adminhtml\Agreement;
11+
use Magento\Backend\App\Action\Context;
12+
use Magento\Framework\Registry;
13+
use Magento\Framework\App\ObjectManager;
14+
use Magento\Framework\Exception\LocalizedException;
15+
16+
class Delete extends Agreement
1017
{
18+
/**
19+
* @var CheckoutAgreementsRepositoryInterface
20+
*/
21+
private $agreementRepository;
22+
23+
/**
24+
* @param Context $context
25+
* @param Registry $coreRegistry
26+
* @param CheckoutAgreementsRepositoryInterface $agreementRepository
27+
*/
28+
public function __construct(
29+
Context $context,
30+
Registry $coreRegistry,
31+
CheckoutAgreementsRepositoryInterface $agreementRepository = null
32+
) {
33+
$this->agreementRepository = $agreementRepository ?:
34+
ObjectManager::getInstance()->get(CheckoutAgreementsRepositoryInterface::class);
35+
parent::__construct($context, $coreRegistry);
36+
}
1137
/**
1238
* @return void
1339
*/
1440
public function execute()
1541
{
1642
$id = (int)$this->getRequest()->getParam('id');
17-
$model = $this->_objectManager->get(\Magento\CheckoutAgreements\Model\Agreement::class)->load($id);
18-
if (!$model->getId()) {
43+
$agreement = $this->agreementRepository->get($id);
44+
if (!$agreement->getAgreementId()) {
1945
$this->messageManager->addError(__('This condition no longer exists.'));
2046
$this->_redirect('checkout/*/');
2147
return;
2248
}
2349

2450
try {
25-
$model->delete();
51+
$this->agreementRepository->delete($agreement);
2652
$this->messageManager->addSuccess(__('You deleted the condition.'));
2753
$this->_redirect('checkout/*/');
2854
return;
29-
} catch (\Magento\Framework\Exception\LocalizedException $e) {
55+
} catch (LocalizedException $e) {
3056
$this->messageManager->addError($e->getMessage());
3157
} catch (\Exception $e) {
3258
$this->messageManager->addError(__('Something went wrong while deleting this condition.'));

app/code/Magento/CheckoutAgreements/Controller/Adminhtml/Agreement/Edit.php

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,42 @@
66
*/
77
namespace Magento\CheckoutAgreements\Controller\Adminhtml\Agreement;
88

9-
class Edit extends \Magento\CheckoutAgreements\Controller\Adminhtml\Agreement
9+
use Magento\CheckoutAgreements\Controller\Adminhtml\Agreement;
10+
use Magento\CheckoutAgreements\Model\AgreementFactory;
11+
use Magento\Backend\App\Action\Context;
12+
use Magento\Framework\Registry;
13+
use Magento\Framework\App\ObjectManager;
14+
use Magento\CheckoutAgreements\Block\Adminhtml\Agreement\Edit as BlockEdit;
15+
16+
class Edit extends Agreement
1017
{
18+
/**
19+
* @var AgreementFactory
20+
*/
21+
private $agreementFactory;
22+
23+
/**
24+
* @param Context $context
25+
* @param Registry $coreRegistry
26+
* @param AgreementFactory $agreementFactory
27+
*/
28+
public function __construct(
29+
Context $context,
30+
Registry $coreRegistry,
31+
AgreementFactory $agreementFactory = null
32+
) {
33+
$this->agreementFactory = $agreementFactory ?:
34+
ObjectManager::getInstance()->get(AgreementFactory::class);
35+
parent::__construct($context, $coreRegistry);
36+
}
1137
/**
1238
* @return void
1339
* @SuppressWarnings(PHPMD.NPathComplexity)
1440
*/
1541
public function execute()
1642
{
1743
$id = $this->getRequest()->getParam('id');
18-
$agreementModel = $this->_objectManager->create(\Magento\CheckoutAgreements\Model\Agreement::class);
44+
$agreementModel = $this->agreementFactory->create();
1945

2046
if ($id) {
2147
$agreementModel->load($id);
@@ -26,7 +52,7 @@ public function execute()
2652
}
2753
}
2854

29-
$data = $this->_objectManager->get(\Magento\Backend\Model\Session::class)->getAgreementData(true);
55+
$data = $this->_session->getAgreementData(true);
3056
if (!empty($data)) {
3157
$agreementModel->setData($data);
3258
}
@@ -38,7 +64,7 @@ public function execute()
3864
$id ? __('Edit Condition') : __('New Condition')
3965
)->_addContent(
4066
$this->_view->getLayout()->createBlock(
41-
\Magento\CheckoutAgreements\Block\Adminhtml\Agreement\Edit::class
67+
BlockEdit::class
4268
)->setData(
4369
'action',
4470
$this->getUrl('checkout/*/save')

app/code/Magento/CheckoutAgreements/Controller/Adminhtml/Agreement/Save.php

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,47 @@
66
*/
77
namespace Magento\CheckoutAgreements\Controller\Adminhtml\Agreement;
88

9-
class Save extends \Magento\CheckoutAgreements\Controller\Adminhtml\Agreement
9+
use Magento\CheckoutAgreements\Controller\Adminhtml\Agreement;
10+
use Magento\CheckoutAgreements\Model\AgreementFactory;
11+
use Magento\Backend\App\Action\Context;
12+
use Magento\Framework\Registry;
13+
use Magento\Framework\App\ObjectManager;
14+
use Magento\Framework\DataObject;
15+
use Magento\Framework\Exception\LocalizedException;
16+
17+
class Save extends Agreement
1018
{
19+
/**
20+
* @var AgreementFactory
21+
*/
22+
private $agreementFactory;
23+
24+
/**
25+
* @param Context $context
26+
* @param Registry $coreRegistry
27+
* @param AgreementFactory $agreementFactory
28+
*/
29+
public function __construct(
30+
Context $context,
31+
Registry $coreRegistry,
32+
AgreementFactory $agreementFactory = null
33+
) {
34+
$this->agreementFactory = $agreementFactory ?:
35+
ObjectManager::getInstance()->get(AgreementFactory::class);
36+
parent::__construct($context, $coreRegistry);
37+
}
1138
/**
1239
* @return void
1340
*/
1441
public function execute()
1542
{
1643
$postData = $this->getRequest()->getPostValue();
1744
if ($postData) {
18-
$model = $this->_objectManager->get(\Magento\CheckoutAgreements\Model\Agreement::class);
45+
$model = $this->agreementFactory->create();
1946
$model->setData($postData);
2047

2148
try {
22-
$validationResult = $model->validateData(new \Magento\Framework\DataObject($postData));
49+
$validationResult = $model->validateData(new DataObject($postData));
2350
if ($validationResult !== true) {
2451
foreach ($validationResult as $message) {
2552
$this->messageManager->addError($message);
@@ -30,13 +57,13 @@ public function execute()
3057
$this->_redirect('checkout/*/');
3158
return;
3259
}
33-
} catch (\Magento\Framework\Exception\LocalizedException $e) {
60+
} catch (LocalizedException $e) {
3461
$this->messageManager->addError($e->getMessage());
3562
} catch (\Exception $e) {
3663
$this->messageManager->addError(__('Something went wrong while saving this condition.'));
3764
}
3865

39-
$this->_objectManager->get(\Magento\Backend\Model\Session::class)->setAgreementData($postData);
66+
$this->_session->setAgreementData($postData);
4067
$this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($this->getUrl('*')));
4168
}
4269
}

0 commit comments

Comments
 (0)