1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- namespace Dotdigitalgroup\Email\Controller\Adminhtml\Order;
- use Dotdigitalgroup\Email\Controller\Adminhtml\Order as OrderController;
- use Magento\Framework\Controller\ResultFactory;
- use Magento\Ui\Component\MassAction\Filter;
- class MassDelete extends OrderController
- {
- /**
- * Authorization level of a basic admin session
- *
- * @see _isAllowed()
- */
- const ADMIN_RESOURCE = 'Dotdigitalgroup_Email::order';
- /**
- * @var \Dotdigitalgroup\Email\Model\ResourceModel\Order\CollectionFactory
- */
- private $collectionFactory;
- /**
- * @var object
- */
- protected $messageManager;
- /**
- * @var Filter
- */
- private $filter;
- /**
- * @var \Dotdigitalgroup\Email\Model\ResourceModel\Order
- */
- private $orderResource;
- /**
- * MassDelete constructor.
- *
- * @param \Dotdigitalgroup\Email\Model\ResourceModel\Order $orderResource
- * @param \Magento\Backend\App\Action\Context $context
- * @param Filter $filter
- * @param \Dotdigitalgroup\Email\Model\ResourceModel\Order\CollectionFactory $collectionFactory
- */
- public function __construct(
- \Dotdigitalgroup\Email\Model\ResourceModel\Order $orderResource,
- \Magento\Backend\App\Action\Context $context,
- Filter $filter,
- \Dotdigitalgroup\Email\Model\ResourceModel\Order\CollectionFactory $collectionFactory
- ) {
- $this->filter = $filter;
- $this->collectionFactory = $collectionFactory;
- $this->orderResource = $orderResource;
- parent::__construct($context);
- }
- /**
- * @return \Magento\Backend\Model\View\Result\Redirect
- */
- public function execute()
- {
- $collection = $this->filter->getCollection($this->collectionFactory->create());
- $collectionSize = $collection->getSize();
- foreach ($collection as $item) {
- $this->orderResource->delete($item);
- }
- $this->messageManager->addSuccess(__('A total of %1 record(s) have been deleted.', $collectionSize));
- /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */
- $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);
- return $resultRedirect->setPath('*/*/');
- }
- }
|