Add overlapping Plage Ouvertures warnings
Created by: adipasquale
Visuel
Détails des 3 premiers commits de refactos préliminaires
- renommer le
RecurrenceConcern#ends_at
actuel enfirst_occurence_ends_at
. Cette méthode est en effet très perturbante actuellement car elle renvoie le ends_at de la première occurence pour les plages d'ouvertures ou absences récurrentes. On s'attend bien plus à ce qu'elle renvoie la date de fin éventuelle de la récurrence. La nouvelle méthodeends_at
renvoie donc bien cette valeur de fin d'occurence ou nil s'il n'y a pas de fin (récurrence infinie) - correction du bout formulaire pour la récurrence qui envoyait
recurrence="null"
au lieu d'une chaine vide. Cela devenait problématique car je m'appuie plus qu'avant sur la présence derecurrence
pour décider si une plage est effectivement récurrente ou non. - ajout d'un lien pour supprimer les plages d'ouvertures depuis l'index (plus simple pour faire plein de tests)
Détail du dernier commit d'implémentation de la fonctionnalité
- l'interface s'appuie sur la gem https://github.com/rdv-solidarites/activemodel-caution (forkée juste pour changer la version de rails compatible)
- je n'ai pas beaucoup optimisé la requête SQL pour détecter les plages d'ouvertures en conflit pour l'instant, j'attends de voir si c'est problématique ou non.
- j'ai rajouté les avertissements de recoupement dans la vue index. Cependant, ça me gênait d'afficher un avertissement sans permettre aux agents de voir le détail : avec quelles plages ça recoupait. Je ne voulais pas rajouter ce détail sur la vue #edit, ça n'a pas trop de sens. Donc j'ai créé la vue #show qui n'existait pas encore.
- La vue show permet de simplifier un peu l'interface index : j'ai enlevé le lien "dupliquer", qui est maintenant uniquement sur la vue #show. J'ai hésité à enlever complètement les liens supprimer et éditer de l'index, pour harmoniser avec les autres ressources où il faut toujours passer par le show et il n'y a pas de raccourcis. Pour l'instant je les ai laissés mais j'ai réduit la place qu'ils prennent en utilisant des icônes (oeil, stylo, poubelle). je sais que ce n'est pas très parlant mais c'est uniquement des raccourcis pour les power users. Les usagers normaux passeront par le show et tout sera très clair à mon avis (plus qu'avant).