Commits (2)
framework:
default_locale: en
default_locale: fr
translator:
default_path: '%kernel.project_dir%/translations'
fallbacks:
- fr
- en
providers:
......@@ -8,11 +8,21 @@ use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use App\Enum\Secteur;
use Dom\Entity;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use App\Repository\EtablissementRepository;
class EtablissementType extends AbstractType
{
private EtablissementRepository $etablissementRepository;
public function __construct(EtablissementRepository $etablissementRepository)
{
$this->etablissementRepository = $etablissementRepository;
}
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$departements = $this->etablissementRepository->findDistinctDepartements();
$builder
->add('nom')
->add('nature')
......@@ -23,7 +33,10 @@ class EtablissementType extends AbstractType
->add('longitude')
->add('latitude')
->add('adresse')
->add('departement')
->add('departement', ChoiceType::class, [
'choices' => array_combine($departements, $departements),
'placeholder' => 'Choisissez un département',
])
->add('region')
->add('academie')
->add('commune')
......
......@@ -116,4 +116,13 @@ class EtablissementRepository extends ServiceEntityRepository
->getQuery()
->getResult();
}
public function findDistinctDepartements(): array
{
return $this->createQueryBuilder('e')
->select('DISTINCT e.departement')
->where('e.departement IS NOT NULL')
->orderBy('e.departement', 'ASC')
->getQuery()
->getSingleColumnResult(); // pour avoir un tableau simple de chaînes
}
}
......@@ -7,7 +7,7 @@
<input type="hidden" name="_method" value="PUT"> {# Indique à Symfony d'interpréter la requête comme un PUT #}
{{ form_widget(form) }}
<button type="submit" class="btn btn-primary">Modifier</button>
<a href="{{ path('app_etablissements') }}" class="btn btn-secondary">Annuler</a>
{{ form_end(form) }}
<a href="{{ path('app_etablissements') }}" class="btn btn-secondary">Annuler</a>
{% endblock %}