mirror of
https://github.com/bdnugget/magento2.git
synced 2026-11-08 01:37:36 +00:00
90 lines
2.5 KiB
PHP
90 lines
2.5 KiB
PHP
<?php
|
|
/**
|
|
* Copyright © Magento, Inc. All rights reserved.
|
|
* See COPYING.txt for license details.
|
|
*/
|
|
namespace Magento\Sales\Controller\Adminhtml\Order;
|
|
|
|
use Magento\Backend\App\Action\Context;
|
|
use Magento\Framework\App\ResponseInterface;
|
|
use Magento\Framework\Controller\ResultFactory;
|
|
use Magento\Framework\Controller\ResultInterface;
|
|
use Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection;
|
|
use Magento\Ui\Component\MassAction\Filter;
|
|
|
|
/**
|
|
* Class AbstractMassStatus
|
|
* @deprecated 101.0.0
|
|
* Never extend from this action. Implement mass-action logic in the "execute" method of your controller.
|
|
*/
|
|
abstract class AbstractMassAction extends \Magento\Backend\App\Action
|
|
{
|
|
/**
|
|
* Authorization level of a basic admin session
|
|
*/
|
|
const ADMIN_RESOURCE = 'Magento_Sales::actions_edit';
|
|
|
|
/**
|
|
* @var string
|
|
*/
|
|
protected $redirectUrl = '*/*/';
|
|
|
|
/**
|
|
* @var \Magento\Ui\Component\MassAction\Filter
|
|
*/
|
|
protected $filter;
|
|
|
|
/**
|
|
* @var object
|
|
*/
|
|
protected $collectionFactory;
|
|
|
|
/**
|
|
* @param Context $context
|
|
* @param Filter $filter
|
|
*/
|
|
public function __construct(Context $context, Filter $filter)
|
|
{
|
|
parent::__construct($context);
|
|
$this->filter = $filter;
|
|
}
|
|
|
|
/**
|
|
* Execute action
|
|
*
|
|
* @return \Magento\Backend\Model\View\Result\Redirect
|
|
* @throws \Magento\Framework\Exception\LocalizedException|\Exception
|
|
*/
|
|
public function execute()
|
|
{
|
|
try {
|
|
$collection = $this->filter->getCollection($this->collectionFactory->create());
|
|
return $this->massAction($collection);
|
|
} catch (\Exception $e) {
|
|
$this->messageManager->addErrorMessage($e->getMessage());
|
|
/** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */
|
|
$resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);
|
|
return $resultRedirect->setPath($this->redirectUrl);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Return component referrer url
|
|
* TODO: Technical dept referrer url should be implement as a part of Action configuration in appropriate way
|
|
*
|
|
* @return null|string
|
|
*/
|
|
protected function getComponentRefererUrl()
|
|
{
|
|
return $this->filter->getComponentRefererUrl() ?: 'sales/*/';
|
|
}
|
|
|
|
/**
|
|
* Set status to collection items
|
|
*
|
|
* @param AbstractCollection $collection
|
|
* @return ResponseInterface|ResultInterface
|
|
*/
|
|
abstract protected function massAction(AbstractCollection $collection);
|
|
}
|