CouponsMassDelete.php 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. /**
  3. *
  4. * Copyright © Magento, Inc. All rights reserved.
  5. * See COPYING.txt for license details.
  6. */
  7. namespace Magento\SalesRule\Controller\Adminhtml\Promo\Quote;
  8. class CouponsMassDelete extends \Magento\SalesRule\Controller\Adminhtml\Promo\Quote
  9. {
  10. /**
  11. * Coupons mass delete action
  12. *
  13. * @return void
  14. */
  15. public function execute()
  16. {
  17. $this->_initRule();
  18. $rule = $this->_coreRegistry->registry(\Magento\SalesRule\Model\RegistryConstants::CURRENT_SALES_RULE);
  19. if (!$rule->getId()) {
  20. $this->_forward('noroute');
  21. }
  22. $codesIds = $this->getRequest()->getParam('ids');
  23. if (is_array($codesIds)) {
  24. $couponsCollection = $this->_objectManager->create(
  25. \Magento\SalesRule\Model\ResourceModel\Coupon\Collection::class
  26. )->addFieldToFilter(
  27. 'coupon_id',
  28. ['in' => $codesIds]
  29. );
  30. foreach ($couponsCollection as $coupon) {
  31. $coupon->delete();
  32. }
  33. }
  34. }
  35. }