src/Eccube/Form/Type/Master/OrderStatusType.php line 24

Open in your IDE?
  1. <?php
  2. /*
  3.  * This file is part of EC-CUBE
  4.  *
  5.  * Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  6.  *
  7.  * http://www.ec-cube.co.jp/
  8.  *
  9.  * For the full copyright and license information, please view the LICENSE
  10.  * file that was distributed with this source code.
  11.  */
  12. namespace Eccube\Form\Type\Master;
  13. use Eccube\Entity\Master\OrderStatus;
  14. use Eccube\Form\Type\MasterType;
  15. use Eccube\Repository\OrderRepository;
  16. use Symfony\Component\Form\AbstractType;
  17. use Symfony\Component\Form\FormInterface;
  18. use Symfony\Component\Form\FormView;
  19. use Symfony\Component\OptionsResolver\OptionsResolver;
  20. class OrderStatusType extends AbstractType
  21. {
  22.     /**
  23.      * @var OrderRepository
  24.      */
  25.     protected $orderRepository;
  26.     /**
  27.      * OrderStatusType constructor.
  28.      *
  29.      * @param OrderRepository $orderRepository
  30.      */
  31.     public function __construct(OrderRepository $orderRepository)
  32.     {
  33.         $this->orderRepository $orderRepository;
  34.     }
  35.     /**
  36.      * {@inheritdoc}
  37.      */
  38.     public function buildView(FormView $viewFormInterface $form, array $options)
  39.     {
  40.         /** @var OrderStatus[] $OrderStatuses */
  41.         $OrderStatuses $options['choice_loader']->loadChoiceList()->getChoices();
  42.         foreach ($OrderStatuses as $OrderStatus) {
  43.             $id $OrderStatus->getId();
  44.             if ($OrderStatus->isDisplayOrderCount()) {
  45.                 $count $this->orderRepository->countByOrderStatus($id);
  46.                 $view->vars['order_count'][$id]['display'] = true;
  47.                 $view->vars['order_count'][$id]['count'] = $count;
  48.             } else {
  49.                 $view->vars['order_count'][$id]['display'] = false;
  50.                 $view->vars['order_count'][$id]['count'] = null;
  51.             }
  52.         }
  53.     }
  54.     /**
  55.      * {@inheritdoc}
  56.      */
  57.     public function configureOptions(OptionsResolver $resolver)
  58.     {
  59.         $resolver->setDefaults([
  60.             'class' => OrderStatus::class,
  61.         ]);
  62.     }
  63.     /**
  64.      * {@inheritdoc}
  65.      */
  66.     public function getBlockPrefix()
  67.     {
  68.         return 'order_status';
  69.     }
  70.     /**
  71.      * {@inheritdoc}
  72.      */
  73.     public function getParent()
  74.     {
  75.         return MasterType::class;
  76.     }
  77. }