| Current Path : /home/rtorresani/www/vendor/magento/module-sales/Controller/Adminhtml/ |
| Current File : //home/rtorresani/www/vendor/magento/module-sales/Controller/Adminhtml/Order.php |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
namespace Magento\Sales\Controller\Adminhtml;
use Magento\Backend\App\Action;
use Magento\Backend\Model\View\Result\Page;
use Magento\Framework\App\Response\Http\FileFactory;
use Magento\Framework\Controller\Result\JsonFactory;
use Magento\Framework\Controller\Result\RawFactory;
use Magento\Framework\Registry;
use Magento\Framework\Translate\InlineInterface;
use Magento\Framework\View\Result\LayoutFactory;
use Magento\Framework\View\Result\PageFactory;
use Magento\Sales\Api\Data\OrderInterface;
use Magento\Sales\Api\OrderManagementInterface;
use Magento\Sales\Api\OrderRepositoryInterface;
use Magento\Framework\Exception\NoSuchEntityException;
use Magento\Framework\Exception\InputException;
use Psr\Log\LoggerInterface;
/**
* Adminhtml sales orders controller
*
* @api
* @SuppressWarnings(PHPMD.NumberOfChildren)
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/
abstract class Order extends Action
{
/**
* Authorization level of a basic admin session
*
* @see _isAllowed()
*/
const ADMIN_RESOURCE = 'Magento_Sales::sales_order';
/**
* Array of actions which can be processed without secret key validation
*
* @var string[]
*/
protected $_publicActions = ['view', 'index'];
/**
* Core registry
*
* @var Registry
*/
protected $_coreRegistry = null;
/**
* @var FileFactory
*/
protected $_fileFactory;
/**
* @var InlineInterface
*/
protected $_translateInline;
/**
* @var PageFactory
*/
protected $resultPageFactory;
/**
* @var JsonFactory
*/
protected $resultJsonFactory;
/**
* @var LayoutFactory
*/
protected $resultLayoutFactory;
/**
* @var RawFactory
*/
protected $resultRawFactory;
/**
* @var OrderManagementInterface
*/
protected $orderManagement;
/**
* @var OrderRepositoryInterface
*/
protected $orderRepository;
/**
* @var LoggerInterface
*/
protected $logger;
/**
* @param Action\Context $context
* @param Registry $coreRegistry
* @param FileFactory $fileFactory
* @param InlineInterface $translateInline
* @param PageFactory $resultPageFactory
* @param JsonFactory $resultJsonFactory
* @param LayoutFactory $resultLayoutFactory
* @param RawFactory $resultRawFactory
* @param OrderManagementInterface $orderManagement
* @param OrderRepositoryInterface $orderRepository
* @param LoggerInterface $logger
*
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/
public function __construct(
Action\Context $context,
Registry $coreRegistry,
FileFactory $fileFactory,
InlineInterface $translateInline,
PageFactory $resultPageFactory,
JsonFactory $resultJsonFactory,
LayoutFactory $resultLayoutFactory,
RawFactory $resultRawFactory,
OrderManagementInterface $orderManagement,
OrderRepositoryInterface $orderRepository,
LoggerInterface $logger
) {
$this->_coreRegistry = $coreRegistry;
$this->_fileFactory = $fileFactory;
$this->_translateInline = $translateInline;
$this->resultPageFactory = $resultPageFactory;
$this->resultJsonFactory = $resultJsonFactory;
$this->resultLayoutFactory = $resultLayoutFactory;
$this->resultRawFactory = $resultRawFactory;
$this->orderManagement = $orderManagement;
$this->orderRepository = $orderRepository;
$this->logger = $logger;
parent::__construct($context);
}
/**
* Init layout, menu and breadcrumb
*
* @return Page
*/
protected function _initAction()
{
$resultPage = $this->resultPageFactory->create();
$resultPage->setActiveMenu('Magento_Sales::sales_order');
$resultPage->addBreadcrumb(__('Sales'), __('Sales'));
$resultPage->addBreadcrumb(__('Orders'), __('Orders'));
return $resultPage;
}
/**
* Initialize order model instance
*
* @return OrderInterface|false
*/
protected function _initOrder()
{
$id = $this->getRequest()->getParam('order_id');
try {
$order = $this->orderRepository->get($id);
} catch (NoSuchEntityException $e) {
$this->messageManager->addErrorMessage(__('This order no longer exists.'));
$this->_actionFlag->set('', self::FLAG_NO_DISPATCH, true);
return false;
} catch (InputException $e) {
$this->messageManager->addErrorMessage(__('This order no longer exists.'));
$this->_actionFlag->set('', self::FLAG_NO_DISPATCH, true);
return false;
}
$this->_coreRegistry->register('sales_order', $order);
$this->_coreRegistry->register('current_order', $order);
return $order;
}
/**
* @return bool
*/
protected function isValidPostRequest()
{
$formKeyIsValid = $this->_formKeyValidator->validate($this->getRequest());
$isPost = $this->getRequest()->isPost();
return ($formKeyIsValid && $isPost);
}
}