src/Form/GuardianRegister/GuardianRegisterChildPreferenceType.php line 15

Open in your IDE?
  1. <?php
  2. namespace App\Form\GuardianRegister;
  3. use App\Entity\GuardianRegister\GuardianRegisterChildPreference;
  4. use App\Entity\Teacher;
  5. use App\Repository\TeacherRepository;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  8. use Symfony\Component\Form\AbstractType;
  9. use Symfony\Component\Form\CallbackTransformer;
  10. use Symfony\Component\Form\FormBuilderInterface;
  11. use Symfony\Component\OptionsResolver\OptionsResolver;
  12. class GuardianRegisterChildPreferenceType extends AbstractType
  13. {
  14. private $entityManager;
  15. public function __construct(EntityManagerInterface $entityManager)
  16. {
  17. $this->entityManager = $entityManager;
  18. }
  19. public function buildForm(FormBuilderInterface $builder, array $options): void
  20. {
  21. if(isset($options['data']) && $options['data']->getTeacher()) {
  22. $teacherId = $options['data']->getTeacher()->getId();
  23. }
  24. else {
  25. $teacherId = null;
  26. }
  27. $builder
  28. ->add('teacher', EntityType::class, [
  29. 'class' => Teacher::class,
  30. // 'query_builder' => function (TeacherRepository $er) use ($teacherId) {
  31. // return $er->createQueryBuilder('t')
  32. // ->andWhere('t.id = :id')
  33. // ->setParameter('id', $teacherId);
  34. // },
  35. 'label' => 'forms.labels.teacher',
  36. 'required' => false,
  37. ])
  38. ->add('startTime', null, [
  39. 'label' => 'Nuo kada?',
  40. 'widget' => 'single_text',
  41. 'html5' => true,
  42. ])
  43. ->add('discipline', null, [
  44. 'required' => true,
  45. 'label' => 'guardian_register.discipline',
  46. ])
  47. ->add('duration', null, [
  48. 'required' => true,
  49. 'label' => 'guardian_register.duration',
  50. ])
  51. ->add('amount', null, [
  52. 'required' => true,
  53. 'label' => 'guardian_register.amount',
  54. ])
  55. ->add('comment', null,[
  56. 'label' => 'guardian_register.comment',
  57. 'row_attr' => [
  58. 'class' => 'child-preference-time-comment',
  59. ],
  60. 'attr' => ['rows' => 4],
  61. ])
  62. ;
  63. }
  64. public function configureOptions(OptionsResolver $resolver): void
  65. {
  66. $resolver->setDefaults([
  67. 'data_class' => GuardianRegisterChildPreference::class,
  68. ]);
  69. }
  70. }