AjaxDelete.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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\Rate;
  8. use Magento\Framework\Controller\ResultFactory;
  9. class AjaxDelete extends \Magento\Tax\Controller\Adminhtml\Rate
  10. {
  11. /**
  12. * Delete Tax Rate via AJAX
  13. *
  14. * @return \Magento\Framework\Controller\Result\Json
  15. */
  16. public function execute()
  17. {
  18. $rateId = (int)$this->getRequest()->getParam('tax_calculation_rate_id');
  19. try {
  20. $this->_taxRateRepository->deleteById($rateId);
  21. $responseContent = ['success' => true, 'error_message' => ''];
  22. } catch (\Magento\Framework\Exception\LocalizedException $e) {
  23. $responseContent = ['success' => false, 'error_message' => $e->getMessage()];
  24. } catch (\Exception $e) {
  25. $responseContent = [
  26. 'success' => false,
  27. 'error_message' => __('We can\'t delete this tax rate right now.')
  28. ];
  29. }
  30. /** @var \Magento\Framework\Controller\Result\Json $resultJson */
  31. $resultJson = $this->resultFactory->create(ResultFactory::TYPE_JSON);
  32. $resultJson->setData($responseContent);
  33. return $resultJson;
  34. }
  35. }