-
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
Outdoor - Erreur 500 si deux polygones se chevauchent #3727
Comments
Le probleme c'est que le check BDD qui controle la validité déclenche une exception. C'est quelquechose qui est deja pris en compte dans les versions reécentes de django (grace à une contrib de quelqu'un de chez makina !) : ValidationError au lieu de IntegrityError : erreurs de formulaire au lieu d'exceptions. Donc je pense que le passge à Django 4.2 corrigera le probleme de lui même |
Dependant de #3754 |
|
Je me demande si turf.js c'est pas un peu lourd comme dépendance à maintenir juste pour ça ? |
Sans m'exprimer sur la pertinence et la lourdeur car je ne connais pas turf.js je remarque qu'il y a déjà une version embarquée dans Geotrek Admin : geotrek/core/static/core/js/turf.min.js
Actuellement il n'y a pas la possibilité de créer un site multipolygone avec des chevauchements car ce type de géométrie n'est pas géré au niveau de la BD (considéré comme invalide). Il y a une erreur 500 à la création mais aussi à chaque fois qu'on essaye d'afficher la page détail du Site/Parcours en question. Du coup on ne fait qu'expliciter une limitation qui se traduit actuellement par une erreur interne pour l'utilisateur. |
OK très bien. Je n'avais pas ça en tête, mais ça vient de b2ac4a5 OK OK je comprends. Un objet multi-polygone ne peut pas être composé de plusieurs polygones se superposant. Je vois. Donc PostGIS rejette ce genre de données. Et donc en effet, il faut trouver un moyen de vérifier ça avant pour renvoyer un message à l'utilisateur et non pas un plantage. 👍️ |
Je créé un site outdoor.
Je dessine une premier polygone puis un deuxième qui l'intersecte.
Je sauvegarde -> erreur 500.
L'objet est en réalité créé mais sa géométrie plante, ce qui fait qu'li apparait dans la liste des objets mais qu'il est inaccessible.
C'est le cas aussi avec un seul polygone qui s'intersecte lui-même (à droite sur la capture ci-dessous)
Il faudrait :
J'ai testé, le problème existe également sur les parcours outdoor.
The text was updated successfully, but these errors were encountered: