<?php
namespace App\EventSubscriber;
use Sylius\Bundle\AdminBundle\Event\OrderShowMenuBuilderEvent;
use Sylius\Component\Core\OrderPaymentStates;
use Sylius\Component\Core\OrderShippingStates;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Security\Csrf\CsrfTokenManagerInterface;
class AdminMenuSubscriber implements EventSubscriberInterface
{
/**
* @var CsrfTokenManagerInterface
*/
private $csrfTokenManager;
public function __construct(
CsrfTokenManagerInterface $csrfTokenManager
)
{
$this->csrfTokenManager = $csrfTokenManager;
}
/**
* @param OrderShowMenuBuilderEvent $event
* @throws \SM\SMException
*/
public function onSyliusMenuAdminOrderShow(OrderShowMenuBuilderEvent $event)
{
// $lastShipment = $event->getOrder()->getShipments()->last();
// $method = $lastShipment->getMethod()->getCode();
/*
if ($method != "chronofresh" && $event->getStateMachine()->can('close')) {
$event->getMenu()
->addChild('close', [
'route' => 'sylius_admin_order_close',
'routeParameters' => [
'id' => $event->getOrder()->getId(),
'_csrf_token' => $this->csrfTokenManager->getToken((string) $event->getOrder()->getId())->getValue(),
],
])
->setAttribute('type', 'transition')
->setLabel('sylius.ui.close')
->setLabelAttribute('icon', 'pause circle')
->setLabelAttribute('color', 'green')
;
}*/
}
public static function getSubscribedEvents()
{
return [
'sylius.menu.admin.order.show' => 'onSyliusMenuAdminOrderShow',
];
}
}