src/EventSubscriber/AdminMenuSubscriber.php line 26

Open in your IDE?
  1. <?php
  2. namespace App\EventSubscriber;
  3. use Sylius\Bundle\AdminBundle\Event\OrderShowMenuBuilderEvent;
  4. use Sylius\Component\Core\OrderPaymentStates;
  5. use Sylius\Component\Core\OrderShippingStates;
  6. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  7. use Symfony\Component\Security\Csrf\CsrfTokenManagerInterface;
  8. class AdminMenuSubscriber implements EventSubscriberInterface
  9. {
  10.     /**
  11.      * @var CsrfTokenManagerInterface
  12.      */
  13.     private $csrfTokenManager;
  14.     public function __construct(
  15.         CsrfTokenManagerInterface $csrfTokenManager
  16.     )
  17.     {
  18.         $this->csrfTokenManager $csrfTokenManager;
  19.     }
  20.     /**
  21.      * @param OrderShowMenuBuilderEvent $event
  22.      * @throws \SM\SMException
  23.      */
  24.     public function onSyliusMenuAdminOrderShow(OrderShowMenuBuilderEvent $event)
  25.     {
  26. //        $lastShipment =  $event->getOrder()->getShipments()->last();
  27. //        $method = $lastShipment->getMethod()->getCode();
  28.         /*
  29.         if ($method != "chronofresh" && $event->getStateMachine()->can('close')) {
  30.             $event->getMenu()
  31.                 ->addChild('close', [
  32.                     'route' => 'sylius_admin_order_close',
  33.                     'routeParameters' => [
  34.                         'id' => $event->getOrder()->getId(),
  35.                         '_csrf_token' => $this->csrfTokenManager->getToken((string) $event->getOrder()->getId())->getValue(),
  36.                     ],
  37.                 ])
  38.                 ->setAttribute('type', 'transition')
  39.                 ->setLabel('sylius.ui.close')
  40.                 ->setLabelAttribute('icon', 'pause circle')
  41.                 ->setLabelAttribute('color', 'green')
  42.             ;
  43.         }*/
  44.     }
  45.     public static function getSubscribedEvents()
  46.     {
  47.         return [
  48.            'sylius.menu.admin.order.show' => 'onSyliusMenuAdminOrderShow',
  49.         ];
  50.     }
  51. }