<?php
|
|
|
|
namespace App\Form;
|
|
|
|
use App\Entity\Task;
|
|
use Symfony\Component\Form\AbstractType;
|
|
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
|
|
use Symfony\Component\Form\FormBuilderInterface;
|
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
|
|
|
class TaskType extends AbstractType
|
|
{
|
|
public function buildForm(FormBuilderInterface $builder, array $options): void
|
|
{
|
|
$builder
|
|
->add('name', null, [
|
|
'label' => 'Nom',
|
|
])
|
|
->add('description', null, [
|
|
'label' => 'Description',
|
|
])
|
|
->add('geojson', TextareaType::class, [
|
|
'label' => 'GeoJSON',
|
|
'required' => false,
|
|
'help_html' => true,
|
|
'help' => 'Ce qu’il faut dessiner sur la carte au format <a href="https://fr.wikipedia.org/wiki/GeoJSON" target="_blank">GeoJSON</a> et mettre à disposition à l’export sous forme de <a href="https://fr.wikipedia.org/wiki/GPX_(format_de_fichier)" target="_blank">GPX</a> pour l’import dans JOSM. Outil pratique : <a href="https://geojson.io/" target="_blank">geojson.io</a>.',
|
|
])
|
|
->add('osm', TextareaType::class, [
|
|
'label' => 'OSM',
|
|
'required' => false,
|
|
'help_html' => true,
|
|
'help' => 'XML décrivant ce qu’il faut charger dans la feuille de données de JOSM (cf <a href="https://wiki.openstreetmap.org/wiki/FR:OSM_XML" target="_blank">FR:OSM XML - OpenStreetMap Wiki</a>)',
|
|
'empty_data' => '',
|
|
])
|
|
->add('status', TaskLifecycleType::class, [
|
|
'label' => 'État',
|
|
])
|
|
->add('urgent', null, [
|
|
'label' => 'Urgence',
|
|
'required' => false,
|
|
'help' => 'Un entier signé optionnel.',
|
|
])
|
|
->add('important', null, [
|
|
'label' => 'Importance',
|
|
'required' => false,
|
|
'help' => 'Un entier signé optionnel.',
|
|
])
|
|
;
|
|
}
|
|
|
|
public function configureOptions(OptionsResolver $resolver): void
|
|
{
|
|
$resolver->setDefaults([
|
|
'data_class' => Task::class,
|
|
]);
|
|
}
|
|
}
|