vendor/setono/sylius-order-edit-plugin/src/EventSubscriber/AddEditOrderActionSubscriber.php line 22

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace Setono\SyliusOrderEditPlugin\EventSubscriber;
  4. use Sylius\Component\Grid\Definition\Action;
  5. use Sylius\Component\Grid\Definition\ArrayToDefinitionConverter;
  6. use Sylius\Component\Grid\Event\GridDefinitionConverterEvent;
  7. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  8. final class AddEditOrderActionSubscriber implements EventSubscriberInterface
  9. {
  10.     public static function getSubscribedEvents(): array
  11.     {
  12.         // The grid name is found in this file: vendor/sylius/sylius/src/Sylius/Bundle/AdminBundle/Resources/config/grids/order.yml
  13.         $eventName sprintf(ArrayToDefinitionConverter::EVENT_NAME'admin_order');
  14.         return [$eventName => 'add'];
  15.     }
  16.     public function add(GridDefinitionConverterEvent $event): void
  17.     {
  18.         try {
  19.             $actionGroup $event->getGrid()->getActionGroup('item');
  20.         } catch (\InvalidArgumentException) {
  21.             return;
  22.         }
  23.         $action Action::fromNameAndType('edit_order''edit_order');
  24.         $action->setOptions([
  25.             'link' => [
  26.                 'route' => 'sylius_admin_order_update',
  27.                 'parameters' => ['id' => 'resource.id'],
  28.             ],
  29.         ]);
  30.         $actionGroup->addAction($action);
  31.     }
  32. }