Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

78 Zeilen
2.4KB

  1. <?php
  2. namespace Lc\CaracoleBundle\Form\User;
  3. use App\Entity\User\User;
  4. use Lc\CaracoleBundle\Model\User\UserMerchantInterface;
  5. use Lc\CaracoleBundle\Repository\User\UserStore;
  6. use Lc\SovBundle\Definition\RolesDefinitionInterface;
  7. use Lc\SovBundle\Doctrine\EntityManager;
  8. use Lc\SovBundle\Model\User\UserInterface;
  9. use Lc\SovBundle\Translation\TranslatorAdmin;
  10. use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  11. use Symfony\Component\Form\AbstractType;
  12. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  13. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  14. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  15. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  16. use Symfony\Component\Form\Extension\Core\Type\TextType;
  17. use Symfony\Component\Form\FormBuilderInterface;
  18. use Symfony\Component\OptionsResolver\OptionsResolver;
  19. use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
  20. use function Symfony\Component\Translation\t;
  21. class UserMerchantActiveCreditFormType extends AbstractType
  22. {
  23. protected EntityManager $entityManager;
  24. protected UserStore $userStore;
  25. protected TranslatorAdmin $translatorAdmin;
  26. public function __construct(
  27. EntityManager $entityManager,
  28. TranslatorAdmin $translatorAdmin,
  29. UserStore $userStore
  30. ) {
  31. $this->entityManager = $entityManager;
  32. $this->translatorAdmin = $translatorAdmin;
  33. $this->userStore = $userStore;
  34. }
  35. public function buildForm(FormBuilderInterface $builder, array $options)
  36. {
  37. $builder->add(
  38. 'user',
  39. EntityType::class,
  40. array(
  41. 'class'=> $this->entityManager->getEntityName(UserInterface::class),
  42. 'choices'=> $this->userStore->setMerchant($options['merchant'])->get()
  43. )
  44. );
  45. $builder->add(
  46. 'submit',
  47. SubmitType::class,
  48. [
  49. 'label' => $this->translatorAdmin->transAction('save'),
  50. ]
  51. );
  52. }
  53. /**
  54. * {@inheritdoc}
  55. */
  56. public function configureOptions(OptionsResolver $resolver)
  57. {
  58. $resolver->setDefaults(
  59. [
  60. 'data_class' => $this->entityManager->getEntityName(UserMerchantInterface::class),
  61. 'merchant' => null,
  62. ]
  63. );
  64. }
  65. }