mirror of
https://github.com/bdnugget/magento2.git
synced 2026-11-08 01:37:36 +00:00
51 lines
1.3 KiB
PHP
51 lines
1.3 KiB
PHP
<?php
|
|
/**
|
|
*
|
|
* Copyright © Magento, Inc. All rights reserved.
|
|
* See COPYING.txt for license details.
|
|
*/
|
|
|
|
namespace Magento\Sales\Controller\AbstractController;
|
|
|
|
class OrderViewAuthorization implements OrderViewAuthorizationInterface
|
|
{
|
|
/**
|
|
* @var \Magento\Customer\Model\Session
|
|
*/
|
|
protected $customerSession;
|
|
|
|
/**
|
|
* @var \Magento\Sales\Model\Order\Config
|
|
*/
|
|
protected $orderConfig;
|
|
|
|
/**
|
|
* @param \Magento\Customer\Model\Session $customerSession
|
|
* @param \Magento\Sales\Model\Order\Config $orderConfig
|
|
*/
|
|
public function __construct(
|
|
\Magento\Customer\Model\Session $customerSession,
|
|
\Magento\Sales\Model\Order\Config $orderConfig
|
|
) {
|
|
$this->customerSession = $customerSession;
|
|
$this->orderConfig = $orderConfig;
|
|
}
|
|
|
|
/**
|
|
* {@inheritdoc}
|
|
*/
|
|
public function canView(\Magento\Sales\Model\Order $order)
|
|
{
|
|
$customerId = $this->customerSession->getCustomerId();
|
|
$availableStatuses = $this->orderConfig->getVisibleOnFrontStatuses();
|
|
if ($order->getId()
|
|
&& $order->getCustomerId()
|
|
&& $order->getCustomerId() == $customerId
|
|
&& in_array($order->getStatus(), $availableStatuses, true)
|
|
) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
}
|