MTES-MCT / dialog

Intégration de la réglementation de circulation dans les solutions numériques
https://dialog.beta.gouv.fr
GNU Affero General Public License v3.0
9 stars 1 forks source link

Dupliquer une période d'application #1051

Open florimondmanca opened 1 day ago

florimondmanca commented 1 day ago

Extrait de #989

Description

Suite à #988 qui a supprimé la saisie de la période d'un arrêté (dates de début et fin) on souhaite simplifier la saisie des dates de début et fin d'une restriction.

La possibilité de dupliquer une période d'application sur une mesure permettra de certains cas de simplifier la saisie d'une deuxième période d'application : pas besoin de saisir à nouveau toutes les valeurs, il suffira de modifier seulement celles qui changent, par exemple les jours concernés.

Maquette

Période d'application : Ajout d'un bouton "Dupliquer" à côté du bouton "Supprimer"

image

Implémentation

À définir

amina-sab commented 1 day ago

Bonjour, Je suis Sabrina étudiante en Master 2 Miage en apprentissage, je pense que Rami a déjà pris contact avec vous pour vous demander si c'est possible de contribuer dans votre projet. Je voudrais travailler sur cette issue si elle n'est pas encore assignée à une autre personne, pourriez vous me donner plus d'informations sur ce que je dois faire si c'est seulement le front ou le back aussi.. etc. Au plaisir de collaborer avec vous ;) Sabrina

florimondmanca commented 1 day ago

Hello Sabrina @amina-sab

Cette issue est encore libre oui

Au-delà des qq explications fonctionnelles dans le ticket, au niveau technique c'est principalement du front (formulaires Symfony et peut-être un peu de JS avec Stimulus).

Le code se trouve dans _measure_form.html.twig

C'est un ticket assez "avancé" car ça nécessite de se plonger dans le système de CollectionType de Symfony, qui permet de gérer un champ contenant une liste de formulaires (ici une liste de formulaires pour des périodes d'application).

Un CollectionType contient un "prototype" qui est une sorte de modèle pour fabriquer une nouvelle instance du formulaire. On l'utilise déjà pour ajouter une période d'application (on ajoute un formulaire vide à partir du prototype), en utilisant du JavaScript.

Ce qu'on voudrait faire, c'est préremplir la nouvelle instance à partir des champs d'une autre instance (celle qu'on veut dupliquer), au lieu de laisser la nouvelle instance vide comme quand on clique sur "Ajouter"

La question qui se pose est : y a-t-il une fonctionnalité incluse dans Symfony pour ça (si oui laquelle), ou faut-il ajouter du JavaScript pour dire : copie les valeurs de telle sous-partie de formulaire dans telle autre sous-partie (si oui, comment) ?