![]() 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/old/vendor/extmag/shiplab/Block/Order/Info/ |
<?php /** * Copyright © Extmag. All rights reserved. */ /** * Block of links in Order view page */ namespace Extmag\Shiplab\Block\Order\Info; use Exception; use Extmag\Shiplab\Helper\Manager; use Extmag\Shiplab\Model\Source\CarrierCodes; use Magento\Framework\Registry; use Magento\Framework\View\Element\Template; use Magento\Sales\Model\Order; /** * @api * @since 100.0.2 */ class Buttons extends Template { /** * @var string */ protected $_template = 'Extmag_Shiplab::order/info/buttons.phtml'; /** * @var Registry */ protected $_coreRegistry = null; /** * @var Manager */ protected $manager; /** * @var CarrierCodes */ protected $carrierCodes; /** * @param Template\Context $context * @param Registry $registry * @param Manager $manager * @param CarrierCodes $carrierCodes * @param array $data */ public function __construct( Template\Context $context, Registry $registry, Manager $manager, CarrierCodes $carrierCodes, array $data = [] ) { $this->_coreRegistry = $registry; parent::__construct($context, $data); $this->manager = $manager; $this->carrierCodes = $carrierCodes; } /** * Retrieve current order model instance * * @return Order */ public function getOrder() { return $this->_coreRegistry->registry('current_order'); } /** * @param Order $order * * @return bool * @throws Exception */ public function isAccessible(Order $order) { if ($order->canCreditmemo() && $order->getStatus() === 'complete') { $carriersCodes = []; foreach ($this->carrierCodes->toArray() as $code => $name) { if ($this->manager ->getConfig( $code . "_refund/customer/allow_create", $order->getStoreId(), 'refund', $order->getShippingAddress()->getCountryId() ) == 1 ) { $carriersCodes[] = $code; } } if (!empty($carriersCodes)) { return true; } } return false; } /** * Get url for creditmemo form * * @param Order $order * * @return string */ public function getRefundFormUrl($order) { return $this->getUrl('extmag_shiplab/rma/edit', ['order_id' => $order->getId()]); } }