<?php
namespace App\Form\GuardianRegister;
use App\Entity\GuardianRegister\GuardianRegisterChildPreference;
use App\Entity\Teacher;
use App\Repository\TeacherRepository;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\CallbackTransformer;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class GuardianRegisterChildPreferenceType extends AbstractType
{
private $entityManager;
public function __construct(EntityManagerInterface $entityManager)
{
$this->entityManager = $entityManager;
}
public function buildForm(FormBuilderInterface $builder, array $options): void
{
if(isset($options['data']) && $options['data']->getTeacher()) {
$teacherId = $options['data']->getTeacher()->getId();
}
else {
$teacherId = null;
}
$builder
->add('teacher', EntityType::class, [
'class' => Teacher::class,
// 'query_builder' => function (TeacherRepository $er) use ($teacherId) {
// return $er->createQueryBuilder('t')
// ->andWhere('t.id = :id')
// ->setParameter('id', $teacherId);
// },
'label' => 'forms.labels.teacher',
'required' => false,
])
->add('startTime', null, [
'label' => 'Nuo kada?',
'widget' => 'single_text',
'html5' => true,
])
->add('discipline', null, [
'required' => true,
'label' => 'guardian_register.discipline',
])
->add('duration', null, [
'required' => true,
'label' => 'guardian_register.duration',
])
->add('amount', null, [
'required' => true,
'label' => 'guardian_register.amount',
])
->add('comment', null,[
'label' => 'guardian_register.comment',
'row_attr' => [
'class' => 'child-preference-time-comment',
],
'attr' => ['rows' => 4],
])
;
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => GuardianRegisterChildPreference::class,
]);
}
}