app/Plugin/EccubePaymentLite4/EventListener/EventSubscriber/Admin/Order/AddCompletePaymentButtonEventSubscriber.php line 19

Open in your IDE?
  1. <?php
  2. namespace Plugin\EccubePaymentLite4\EventListener\EventSubscriber\Admin\Order;
  3. use Eccube\Entity\Order;
  4. use Eccube\Event\TemplateEvent;
  5. use Plugin\EccubePaymentLite4\Service\Method\Reg_Credit;
  6. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  7. class AddCompletePaymentButtonEventSubscriber implements EventSubscriberInterface
  8. {
  9.     public static function getSubscribedEvents()
  10.     {
  11.         return [
  12.             '@admin/Order/edit.twig' => 'edit',
  13.         ];
  14.     }
  15.     public function edit(TemplateEvent $event)
  16.     {
  17.         /** @var Order $Order */
  18.         $Order $event->getParameter('Order');
  19.         // 新規作成時は表示しない
  20.         if (is_null($Order->getId())) {
  21.             return;
  22.         }
  23.         // 登録済みのクレジットカード決済以外は表示しない
  24.         if (!is_null($Order->getPayment()) && $Order->getPayment()->getMethodClass() !== Reg_Credit::class) {
  25.             return;
  26.         }
  27.         // gmo_epsilon_order_numberが登録済みの場合は表示しない
  28.         if (!empty($Order->getGmoEpsilonOrderNo())) {
  29.             return;
  30.         }
  31.         $event->addSnippet('@EccubePaymentLite4/admin/Order/complete_payment_button.twig');
  32.     }
  33. }