Edit.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. /**
  3. *
  4. * Copyright © Magento, Inc. All rights reserved.
  5. * See COPYING.txt for license details.
  6. */
  7. namespace Magento\Tax\Controller\Adminhtml\Rule;
  8. use Magento\Framework\App\Action\HttpGetActionInterface as HttpGetActionInterface;
  9. use Magento\Framework\Controller\ResultFactory;
  10. class Edit extends \Magento\Tax\Controller\Adminhtml\Rule implements HttpGetActionInterface
  11. {
  12. /**
  13. * @return \Magento\Backend\Model\View\Result\Page|\Magento\Backend\Model\View\Result\Redirect
  14. */
  15. public function execute()
  16. {
  17. $taxRuleId = $this->getRequest()->getParam('rule');
  18. $this->_coreRegistry->register('tax_rule_id', $taxRuleId);
  19. /** @var \Magento\Backend\Model\Session $backendSession */
  20. $backendSession = $this->_objectManager->get(\Magento\Backend\Model\Session::class);
  21. if ($taxRuleId) {
  22. try {
  23. $taxRule = $this->ruleService->get($taxRuleId);
  24. $pageTitle = sprintf("%s", $taxRule->getCode());
  25. } catch (\Magento\Framework\Exception\NoSuchEntityException $e) {
  26. $backendSession->unsRuleData();
  27. $this->messageManager->addError(__('This rule no longer exists.'));
  28. /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */
  29. $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);
  30. return $resultRedirect->setPath('tax/*/');
  31. }
  32. } else {
  33. $pageTitle = __('New Tax Rule');
  34. }
  35. $data = $backendSession->getRuleData(true);
  36. if (!empty($data)) {
  37. $this->_coreRegistry->register('tax_rule_form_data', $data);
  38. }
  39. $breadcrumb = $taxRuleId ? __('Edit Rule') : __('New Rule');
  40. $resultPage = $this->initResultPage();
  41. $resultPage->addBreadcrumb($breadcrumb, $breadcrumb);
  42. $resultPage->getConfig()->getTitle()->prepend(__('Tax Rules'));
  43. $resultPage->getConfig()->getTitle()->prepend($pageTitle);
  44. return $resultPage;
  45. }
  46. }