vendor/sylius/refund-plugin/src/Menu/OrderShowMenuListener.php line 20

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace Sylius\RefundPlugin\Menu;
  4. use Sylius\Bundle\AdminBundle\Event\OrderShowMenuBuilderEvent;
  5. use Sylius\RefundPlugin\Checker\OrderRefundingAvailabilityCheckerInterface;
  6. final class OrderShowMenuListener
  7. {
  8.     /** @var OrderRefundingAvailabilityCheckerInterface */
  9.     private $orderRefundsListAvailabilityChecker;
  10.     public function __construct(OrderRefundingAvailabilityCheckerInterface $orderRefundsListAvailabilityChecker)
  11.     {
  12.         $this->orderRefundsListAvailabilityChecker $orderRefundsListAvailabilityChecker;
  13.     }
  14.     public function addRefundsButton(OrderShowMenuBuilderEvent $event): void
  15.     {
  16.         $menu $event->getMenu();
  17.         $order $event->getOrder();
  18.         if ($this->orderRefundsListAvailabilityChecker->__invoke($order->getNumber())) {
  19.             $menu
  20.                 ->addChild('refunds', [
  21.                     'route' => 'sylius_refund_order_refunds_list',
  22.                     'routeParameters' => ['orderNumber' => $order->getNumber()],
  23.                 ])
  24.                 ->setLabel('sylius_refund.ui.refunds')
  25.                 ->setLabelAttribute('icon''reply all')
  26.                 ->setLabelAttribute('color''grey')
  27.             ;
  28.         }
  29.     }
  30. }