<?php

namespace Eadesigndev\Urgent\Plugin;

use Magento\Backend\Model\UrlInterface;
use Magento\Framework\ObjectManagerInterface;
use Eadesigndev\Urgent\Block\Adminhtml\Sales\Shipment\GenerateAwb as GenerateAwbCore;

#[\AllowDynamicProperties]
class GenerateAwb
{
    /**
     * @var ObjectManagerInterface
     */
    protected $object_manager;

    /**
     * @var UrlInterface
     */
    protected $_backendUrl;

    /**
     * @var GenerateAwbCore
     */
    protected $_generateAwbCore;

    public function __construct(
        ObjectManagerInterface $om,
        UrlInterface $backendUrl,
        GenerateAwbCore $generateAwbCore
    ) {
        $this->object_manager = $om;
        $this->_backendUrl = $backendUrl;
        $this->_generateAwbCore = $generateAwbCore;
    }

    public function beforeSetLayout( \Magento\Sales\Block\Adminhtml\Order\View $subject )
    {
        $sendOrder = $this->_generateAwbCore->getGenerateAwbUrl();

        if (empty($sendOrder)) {
            return null;
        }
        $order = $subject->getOrder();
        if (!in_array($order->getStatus(), ['canceled', 'custom_facturat', 'custom_finalizatamanual', 'complete'])) {
            $subject->addButton(
                'sendordersms',
                [
                    'label' => __('Emitere AWB'),
                    'onclick' => "setLocation('" . $sendOrder. "')",
                    'class' => 'ship primary'
                ]
            );
        }

        return null;
    }

}
