![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/vendor/magento/module-sales/Helper/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Sales\Helper; /** * Sales module base helper */ class Reorder extends \Magento\Framework\App\Helper\AbstractHelper { const XML_PATH_SALES_REORDER_ALLOW = 'sales/reorder/allow'; /** * @var \Magento\Customer\Model\Session */ protected $customerSession; /** * @var \Magento\Sales\Api\OrderRepositoryInterface */ protected $orderRepository; /** * @param \Magento\Framework\App\Helper\Context $context * @param \Magento\Customer\Model\Session $customerSession * @param \Magento\Sales\Api\OrderRepositoryInterface $orderRepository */ public function __construct( \Magento\Framework\App\Helper\Context $context, \Magento\Customer\Model\Session $customerSession, \Magento\Sales\Api\OrderRepositoryInterface $orderRepository ) { $this->orderRepository = $orderRepository; $this->customerSession = $customerSession; parent::__construct( $context ); } /** * @return bool */ public function isAllow() { return $this->isAllowed(); } /** * Check if reorder is allowed for given store * * @param \Magento\Store\Model\Store|int|null $store * @return bool */ public function isAllowed($store = null) { if ($this->scopeConfig->getValue( self::XML_PATH_SALES_REORDER_ALLOW, \Magento\Store\Model\ScopeInterface::SCOPE_STORE, $store )) { return true; } return false; } /** * Check is it possible to reorder * * @param int $orderId * @return bool */ public function canReorder($orderId) { $order = $this->orderRepository->get($orderId); if (!$this->isAllowed($order->getStore())) { return false; } if ($this->customerSession->isLoggedIn()) { return $order->canReorder(); } else { return true; } } }