GeotrekCE / Geotrek-admin

Paths management for National Parks and Tourism organizations
https://geotrek.fr
BSD 2-Clause "Simplified" License
136 stars 76 forks source link

Signalétique - Direction sur lignes sur lames directionnelles #3178

Closed Chrispnv closed 2 years ago

Chrispnv commented 2 years ago

Bonjour,

Actuellement dans le module Signalétique dans GTA, la direction du chemin est à préciser sur les lames posées sur les poteaux via le champ obligatoire Direction. Nous au parc de la Vanoise, la direction du parcours est spécifiée au niveau des lignes qui constituent les lames. Donc un champ Direction serait utile à rajouter dans le bloc de chaque ligne dans l'interface. Nous souhaiterions prendre une prestation pour le développement pour

Nous sommes bien sur ok pour que ce développement profite à tous, mais est ce que la communauté a besoin de ce dev. Donc ma question est surtout de savoir quelle est la meilleure solution. Est ce qu'on garde ce dev pour nous pour le moment ? Est ce que cela peut être ajouté dans une branche spécifique ? Est ce que cela doit être mis dans une nouvelle release ?

Merci.

camillemonchicourt commented 2 years ago

Salut.

En effet ce sujet a été largement discuté :

L'ajout des lames et lignes dans le module Signalétique a été financé par un conseil départemental il y a quelques années et ne correspond pas sur ce point avec la charte signalétique des parcs nationaux et d'autres structures comme les parcs régionaux.

Le besoin est donc clairement identifié et partagé. Par contre, à voir comment faire ça de manière la plus propre et la plus claire. Si on laisse le champs "Direction" a 2 niveaux, cela risque de perturber les utilisateurs et d'apporter de l'incompréhension de leur part. Idem dans les exports de fichier où on aura ce champs au niveau des lignes et des lames, vide dans un cas ou l'autre, ce qui apporter de la confusion mais aussi des incohérences au niveau des données où il sera parfois saisi à un niveau, parfois à un autre.

Bon, depuis la version 2.62.0 de juillet 2021 (https://github.com/GeotrekCE/Geotrek-admin/blob/master/docs/changelog.rst#2620-2021-07-06), il est possible de masquer des champs dans les formulaires, ainsi que dans les exports de listes, mais c'est pas forcément simple à paramétrer, et cela ne s'applique pas aux fiches détails. Donc je ne sais pas si cela règle le "problème".

J'ai pas vraiment de meilleure idée sur le sujet, mais c'est un point de vigilance et d'interrogation sur le fait d'ajouter un champs "Direction" sur les lignes, de la confusion et des incohérences que cela pourrait entrainer.

A voir si il y a une autre idée pour gérer ce besoin ? @gutard proposait un paramètre ici : https://github.com/GeotrekCE/Geotrek-admin/issues/1903#issuecomment-484421175

Chrispnv commented 2 years ago

Bonjour,

Nous avons demandé à Makina un chiffrage de réalisation pour ajouter des directions sur les lignes des lames des signalétiques. Voici la solution technique proposée afin que celle-ci soit utilisable ou pas par la communauté des utilisateurs.

Nous proposons un settings SIGNAGE_DIRECTION_ON_LINE qui permet de choisir entre les deux représentations suivantes 👍

1 - Etapes préliminaires • Rendre le champ direction du modèle Blade facultatif + migration • Ajouter un champ direction sur le modèle Line (il est optionel) + migration • Faire attention à bien respecter la definition of done (https://geotrek.readthedocs.io/en/master/contribute/development.html?highlight=Done#model-modification-definition-of-done-for-new-model-fields) sur le nouveau champ direction. On peut ignorer les questions de colonnes customisables et de champs cachés dans les formulaires, puisque le settings SIGNAGE_DIRECTION_ON_LINE devra être prioritaire sur ces paramétrages là.

2 - Ajout du settings et ses impacts • SIGNAGE_DIRECTION_ON_LINE=False dans les settings de base • dans le formulaire de Blade et le formulaire de Line, le settings affiche ou cache le champ direction ⚠ attention, surpasse le settings HIDDEN_FORM_FIELDS • dans les pages détails de Blade et de Line, le settings affiche ou cache le champ direction dans les attributs. Nécessitera l'ajout d'un templatetag ou d'une entrée context_processor + leurs tests • dans la vue liste de Blade, le settings affiche ou cache la colonne direction. Utilser default_extra_columns ⚠ attention, surpasse le settings COLUMNS_LISTS
• dans la page détail de Signage, le settings affiche ou cache la colonne direction dans la liste des Blades
• dans la page détail de Blade, le settings affiche ou cache la colonne direction dans la liste des Lines
• dans les exports de Blade, le settings affiche ou cache la colonne Direction et la remplace par N colonnes "Direction N" pour les N lignes de chaque blade (comme cela existe déjà pour Texte, Distance, Numéro, Picto) + test des exports. ⚠ attention, surpasse le settings COLUMNS_LISTS

Merci.

camillemonchicourt commented 2 years ago

OK merci pour ces éléments clairs et précis. Ça m'embête qu'un même champs se retrouve à 2 niveaux dans la BDD et soit rempli dans une table ou une autre, selon un paramètre applicatif, mais je ne vois pas de meilleure solution.

camillemonchicourt commented 2 years ago

Fait dans la version 2.89.0, avec l'ajout du paramètre DIRECTION_ON_LINES_ENABLED permettant de passer le champs DIRECTION sur les LIGNES au lieu des LAMES.

Mais si on passe ce paramètre à True, le champs DIRECTION reste quand même affiché au niveau de la liste des lames d'une signalétique :

image

Je me demande si le filtre des lames par DIRECTION ne fonctionne pas seulement sur le champs DIRECTION de la table LAME ?

image

Pour les exports CSV des lames, ça me semble OK que celui-ci prend bien en compte si le champs DIRECTION est au niveau des lames ou des lignes. Tu confirmes @marcantoinedupre ?

marcantoinedupre commented 2 years ago

Bien vu @camillemonchicourt, c'est une erreur de ma part.

Les valeurs des directions des lames (supposément nulles si le paramètre DIRECTION_ON_LINES_ENABLED est True) sont bien cachées. Mais pas le titre "Direction" de la colonne.

En l'état actuel la liste des lames sur la page détail d'une signalétique est incohérente. Toutes les valeurs des colonnes sont décalées par rapport à leur titre à partir de la 3ème. Je corrige rapidement.

image

À part ça, le fonctionnement est simple : les directions sont cachées pour les lames et affichées pour les lignes (ou inversement) à tous les emplacements possibles. Y compris pour l'export CSV comme tu l'as remarqué.

marcantoinedupre commented 2 years ago

Erreur corrigée #3312 et livrée en v2.89.1

camillemonchicourt commented 2 years ago

OK, testé et confirmé.