Open johanricher opened 2 weeks ago
On a un tout petit sujet supplémentaire posé par ce ticket :
Actuellement pour savoir si un arrêté est "permanent" ou "temporaire", on regarde si une date de fin a été définie au niveau de l'arrêté
En fonction de ça on affiche ou pas les champs de date de fin dans le formulaire des périodes pour les mesures
Ici on veut inverser la logique, et faire en sorte que les dates de l'arrêté "remontent" des périodes des mesures
Par conséquent, il faut un moyen plus explicite de configurer le fait qu'un arrêté soit permanent ou temporaire, non ?
cc @aureliebaton
On pourrait dire : si aucune période n'a de date de fin, alors c'est du permanent, sinon c'est du temporaire... Mais est-ce que c'est satisfaisant en termes d'UX ?
C'est une bonne question en effet. Le plus explicite serait peut-être d'ajouter une liste dans le premier formulaire pour sélectionner l'un ou l'autre (temporaire ou permanent). Par exemple à la place de la liste "Nature de l'arrêté" dont on ne se sert pas.
@mmarchois Est-ce que tu aurais un avis technique sur le calcul et le stockage / synchronisation des dates globales ? (On peut réutiliser la terminologie datex de la overallPeriod
)
Au niveau du calcul ces dates sont un MIN(period.startDate)
et MAX(period.endDate)
, donc avec double jointure (regulationOrder -> measure -> period)
J'ai envisagé ces options...
VIEW
en relation one-to-one avec RegulationOrder
MATERIALIZED VIEW
pour éviter les recalculs
REFRESH MATERIALIZED VIEW
, donc ça ne semble pas appropriées (les vues matérialisées c'est plutôt un cas d'usage d'analytics j'ai l'impression)overallStartDate
, overallEndDate
(renommage des champs actuels) mis à jour par des TRIGGER
lors d'un INSERT / UPDATE
Period
, remonter l'info pour aller modifier le RegulationOrder
Ici on veut inverser la logique, et faire en sorte que les dates de l'arrêté "remontent" des périodes des mesures
Par conséquent, il faut un moyen plus explicite de configurer le fait qu'un arrêté soit permanent ou temporaire, non ?
Si la définition d'arrêté permanent est "un arrêté contenant au moins une restriction sans date de fin", alors on n'a pas besoin de demander au préalable à la personne de choisir "permanent" ou "temporaire", c'est une information dont la saisie est redondante.
Je ne vois pas de cas où le fait que la saisie ne soit pas explicite poserait un problème.
L'information devrait néanmoins restée affichée (comme pour les valeurs de périodes de l'arrêté) : inférée et non pas demandée.
A l'inverse, si on veut une UX où la personne doit choisir explicitement entre "permanent" et "temporaire", il risque d'y avoir une confusion.
Par exemple : je choisis "arrêté permanent" sans comprendre exactement ce que ça veut dire, et ensuite le formulaire rend impossible de choisir une date de fin pour la restriction, et je ne comprends pas pourquoi.
Autre exemple : je choisis "arrêté permanent" mais je veux définir 2 restrictions dont seulement une n'a pas de date de fin.
Description
Suite au problème identifié et décrit sur #701, une réunion a eu lieu aujourd'hui pour se mettre d'accord sur l'implémentation de la solution. Celle-ci reprend la proposition discutée il y a quelques mois : ne plus demander la saisie des dates de début et fin d'un arrêté lors de la création d'un arrêté dans l'UI de DiaLog.
Les dates de début et fin d'un arrêté continueront cependant à être affichées quand le besoin se présente (par exemple valeurs de "période" sur la page qui liste les arrêtés) et que cela n'entraine pas de confusion (voir discussion sur #843 pour un exemple). Les valeurs en question seront inférées à partir des dates de début/fin des restrictions ("mesures") qui composent l'arrêté (début d'un arrêté = date la plus tôt de début d'une restriction ; fin d'un arrêté = date la plus tard de fin d'une restriction).
Dans le cadre de cette évolution des adaptations du formulaire sont nécessaire pour simplifier la saisie.
Implémentation
Design
Maquette