<?php namespace App\Form\Project; use App\Form\AbstractFormManager; use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\Form\Extension\Core\Type\TextType; use App\Entity\ProjectEntity; class ProjectAddForm extends AbstractFormManager { /** * Get project entity from form data * * @return ProjectEntity */ public function getProject(): ProjectEntity { $data = $this->form->getData(); $project = new ProjectEntity(); $project->generateId(); $project->setName($data['name']); $project->setActive(true); return $project; } /** * * {@inheritdoc} */ public function getTemplate(): string { return '_includes/html/form/project/add.html.twig'; } /** * * {@inheritdoc} */ protected function addFields($formBuilder, $options): void { $formBuilder->add('name', TextType::class, [ 'required' => true ])->add('submit', SubmitType::class); } }