<?php namespace App\Form\Activity; use App\Entity\ActivityEntity; use App\Form\AbstractFormManager; use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Bridge\Doctrine\Form\Type\EntityType; use App\Entity\ActorEntity; use Symfony\Component\Form\Extension\Core\Type\DateType; class ActivityAddForm extends AbstractFormManager { /** * Get the activity entity * * @return ActivityEntity|null */ public function getActivity(): ?ActivityEntity { $data = $this->form->getData(); $activity = new activityEntity(); $activity->generateId(); $activity->setName($data['name']); $activity->setStartDate($data['startDate']); $activity->setEndDate($data['endDate']); $activity->setRealStartDate($data['realStartDate']); $activity->setRealEndDate($data['realEndDate']); $activity->setActor($data['actor']); return $activity; } /** * {@inheritdoc} */ public function getTemplate(): string { return '_includes/html/form/activity/add.html.twig'; } /** * {@inheritdoc} */ protected function addFields($formBuilder, $options): void { $formBuilder->add('name', TextType::class) ->add('actor', EntityType::class, [ 'class' => ActorEntity::class, 'choice_label' => 'displayName', 'required' => false, ]) ->add('startDate', DateType::class, [ 'required' => false, 'widget' => 'single_text', ]) ->add('endDate', DateType::class, [ 'required' => false, 'widget' => 'single_text', ]) ->add('realStartDate', DateType::class, [ 'required' => false, 'widget' => 'single_text', ]) ->add('realEndDate', DateType::class, [ 'required' => false, 'widget' => 'single_text', ]) ->add('submit', SubmitType::class); } }