AjaxDelete.php 1.3 KB

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