Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

53 linhas
1.5KB

  1. <?php
  2. namespace Lc\CaracoleBundle\Field\Filter\Order;
  3. use EasyCorp\Bundle\EasyAdminBundle\Dto\FieldDto;
  4. use Lc\CaracoleBundle\Solver\Order\OrderPaymentSolver;
  5. use Lc\SovBundle\Field\Filter\FilterTrait;
  6. use Lc\SovBundle\Repository\RepositoryQueryInterface;
  7. use Lc\SovBundle\Translation\TranslatorAdmin;
  8. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  9. use Symfony\Component\Form\FormBuilderInterface;
  10. use Symfony\Contracts\Translation\TranslatorTrait;
  11. /**
  12. * @author La clic ! <contact@laclic.fr>
  13. */
  14. class OrderShopComplementaryFilter
  15. {
  16. use FilterTrait;
  17. public function buildProperty(FormBuilderInterface $builder, FieldDto $fieldDto, $options = array())
  18. {
  19. $builder->add(
  20. $fieldDto->getProperty(),
  21. ChoiceType::class,
  22. [
  23. 'placeholder' => '--',
  24. 'choices' =>
  25. [
  26. 'Non' => 0,
  27. 'Oui' => 1
  28. ]
  29. ,
  30. 'required' => false,
  31. 'attr' => array(
  32. 'class' => 'select2 input-sm',
  33. 'form' => 'filters-form',
  34. ),
  35. ]
  36. );
  37. }
  38. public function applyFilter(RepositoryQueryInterface $repositoryQuery, FieldDto $fieldDto, $filteredValue = null)
  39. {
  40. if ($filteredValue === 0) {
  41. $repositoryQuery->filterIsNotComplementaryOrderShop();
  42. } elseif ($filteredValue === 1) {
  43. $repositoryQuery->filterIsComplementaryOrderShop();
  44. }
  45. }
  46. }