Newer
Older
activity-manager / src / Form / Project / ProjectAddForm.php
<?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);
    }
}