-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feat/add circulation model - #3578 #3663
Feat/add circulation model - #3578 #3663
Conversation
Passing run #7600 ↗︎
Details:
Review all test suite changes for PR #3663 ↗︎ |
Très intéressant. Étant donné que pour chaque événement que l'on va localiser, on va renseigner "autorisé : oui ou non", je pense qu'il faudrait juste parler de "Circulation" et non pas d'"Autorisation de circulation". |
Super, merci pour cette contribution @IdrissaD !! 🎉 On va regarder ça en détail pour voir si tout est ok niveau code, mais de ce que j'ai vu rapidement ça a l'air plutôt bon j'ai l'impression. Juste une question, concernant le choix de définir la notion de Circulation sous forme de booléen. En fait si je comprends bien on utilise un booléen mais il faudra pouvoir conserver la possibilité de switcher entre trois valeurs : autorisée (= True), non autorisée (= False) et non définie (= None ou null). Ma question est la suivante : dans ton implémentation actuelle est-ce que dans l'interface graphique l'utilisateur à la possibilité de repasser son statut à null ? Ou alors à partir du moment où il a coché une fois la case (même par erreur, ca le condamne à devoir choisir entre vrai/faux ? Sinon j'ai l'impression qu'un test en mode sans segmentation dynamique ne passe plus. Tu peux les lancer en local sur ton poste avec la commande En tout cas c'est top comme contribution, merci encore 🙏 |
J'ai renommé "Autorisation de circulation" en "Circulation". @babastienne j'ai essayé d'intégrer le widget class CirculationEdgeForm(EdgeForm):
authorized = forms.NullBooleanField(widget=forms.NullBooleanSelect, required=False)
class Meta(EdgeForm.Meta):
model = CirculationEdge
fields = EdgeForm.Meta.fields + ['circulation_type', 'authorized'] Concernant les traductions, tout ce qui concerne Le composant graphique du champ Pour les tests, j'ai bien la segmentation dynamique activée pourtant... J'ai lancé ta commande, j'ai toujours quelques dizaines d'erreurs mais uniquement reliées à de la traduction (je n'avais pas l'espagnol et l'italien activés dans la base de données). Les tests Cypress ne fonctionnent toujours pas chez moi par contre |
|
|
Oui quand le champs n'est pas défini, c'est pas souhaitable d'afficher NON. |
On peut sûrement afficher quelque chose oui, mais la question c'est quoi ? Je suis d'avis de ne rien afficher si le champ n'est pas renseigné, juste laisser vide. |
Je suis d'accord pour laisser vide, par contre je n'ai pas réussi à trouver comment faire. |
Si on a pas l'information pour ce tronçon, il suffit de ne pas créer de circulation edge non ? Je ne vois pas bien l'intérêt de la valeur "indéterminée" de mon côté |
Pour moi cette information a du sens. Le statut sert à renseigner le type de circulation (vélo, pédestre, motorisé, etc.), mais on peut ne pas forcément déterminer si la circulation est autorisée ou non. |
Après discussion avec @amandine-sahl, la gestion des autorisations de manière booléenne n'est peut-être pas la plus adaptée. Circulations autorisée ou interdite sont deux catégories assez absolues qui comprennent de nombreuses nuances comme :
Et sûrement bien d'autres exemples de réglementations spécifiques. Une liste de valeurs serait plus adaptée à ces nuances, qu'en pensez-vous ? |
Une liste de valeurs c'est peut-être en effet ce qu'il y a de plus simple, l'avantage étant que chacun peut adapter les valeur comme il l'entend. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can update failing test with self.assertNumQueries(22)
in file geotrek/altimetry/tests/test_commands.py
line 74, it's asserting that circulation edges geom will be updated when altimetry is updated 👍
La PR nous semble prête !
La dernière chose que j'ai identifié mais que je vous laisserai faire, c'est la sélection de couleurs pour |
merci @IdrissaD . Par contre il faudrait fixer les conflits dans les deux fichiers pour que la CI se lance |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oui bien vu @marcantoinedupre je pense qu'il faudrait également l'ajouter parmi les couches leaflet pour garder une cohérence avec les autres types de status. |
Oui si c'est un sixième sous-module de Statuts, il faut qu'il soit complet et similaire aux 5 autres sous-modules. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #3663 +/- ##
==========================================
+ Coverage 98.33% 98.34% +0.01%
==========================================
Files 292 292
Lines 21792 21932 +140
==========================================
+ Hits 21429 21569 +140
Misses 363 363 ☔ View full report in Codecov by Sentry. |
Requested changes have been carried on.
2d73a60
to
151a2b2
Compare
Co-authored-by: Célia <[email protected]>
Co-authored-by: Célia <[email protected]>
151a2b2
to
a492b24
Compare
Face au besoin du Parc national des Cévennes d'intégrer son plan de circulation à Geotrek (cf. #3578), j'ai essayé d'ajouter le modèle
CirculationEdge
, sur le modèle déjà réalisé dePhysicalEdge
etLandEdge
.Le but : permettre d'attribuer un statut "Autorisation de circulation" aux tronçons du réseau, afin de gérer les différentes autorisations sur un territoire réglementé. Par exemple en cœur de Parc avec les véhicules motorisés, les vélos, etc.
Quatre valeurs de
CirculationType
ont été intégrées aux fixtures :Je n'ai ajouté qu'un champ spécifique au modèle
CirculationEdge
: "authorized", de type booléen. Il permet de qualifier le Circulation edge en précisant si la circulation est autorisée (authorized=True), interdite (authorized=False) ou si l'on ne connaît pas son statut (authorized=None).Je précise qu'il s'agit de ma première PR dans Geotrek-admin, donc je suis preneur de tout retour pour améliorer cette contribution !
J'ai notamment eu des problèmes lors de l'exécution des tests Cypress (les fichiers static ne se chargeaient jamais en environnement
tests
).Une chose qui est déjà à corriger est la sélection de couleurs pour
circulation
dans le paramètreCOLORS_POOLS
: j'ai mis la même que pourland
, ne sachant pas comment trouver une bonne palette.