Skip to content
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

[SYNTHESE][FLOUTAGE][2.14+][BDC STATUTS] Anomalie avec la recherche Synthese avec filtres "Liste rouges" et floutage des données sensibles #3351

Open
VincentCauchois opened this issue Jan 30, 2025 · 1 comment
Assignees

Comments

@VincentCauchois
Copy link
Member

VincentCauchois commented Jan 30, 2025

Version

GeoNature versions 2.14.0 à 2.15.2 (dernière version actuellement)

Description du bug

Pour un utilisateur avec le floutage des données sensibles activée sur la permission (SYNTHESE, ALL, R) : la recherche dans la Synthèse avec un filtre "Listes rouges" - sélectionné depuis les "Filtres taxonomiques avancés" - n'aboutit pas et un code HTTP 500 (Internal Server Error) est retourné - voir la capture d'écran suivante :

Image

Comportement attendu

On s'attend à ce qu'une recherche dans la Synthese avec un ou plusieurs filtre parmi "Listes rouges" aboutisse correctement pour un utilisateur avec floutage des données sensibles sur (SYNTHESE, ALL, R).

Comment reproduire

Le problème peut être reproduit dans le module Synthèse sur la DEMO GeoNature - https://demo.geonature.fr/geonature/#/synthese - en accès public, à condition que l'utilisateur 'public' correspondant ait bien le floutage des données sensibles activé - voir la capture d'écran suivante :

Image

Étapes à suivre :

  • Accéder à https://demo.geonature.fr/geonature/
  • Si on arrive directement sur la page d'accueil GN - i.e. que l'on est déjà connecté - plutôt que sur la page d'authentification : cliquer sur le bouton "Déconnexion"
  • Depuis la page d'authentification : cliquer sur le bouton "ACCÈS PUBLIC"
  • Accéder au module Synthese
  • Cliquer sur le bouton "Avancé" en haut à gauche dans la section "Quoi ?" du menu des filtres
  • Sélectionner la valeur "CR - En danger critique" - n'importe quelle autre sélection dans ce champ devrait produire l'anomalie - pour le champ "Liste rouge mondiale" sous la section "Listes rouges"
  • Cliquer sur "Valider et fermer"
  • Cliquer sur "Rechercher" ▶ La recherche devrait alors échouer avec un toaster rouge contenant un message d'erreur "Internal Server Error [...]

Si le problème n'est pas reproduit :

Logs

Traces d'erreur collectées via Sentry pour une instance GN en 2.14.2 - voir les captures d'écran suivantes :

Image

Image

@VincentCauchois
Copy link
Member Author

VincentCauchois commented Jan 30, 2025

Analyse

Il semblerait que l'anomalie soit due au fait que le statement bdc_status_cte = bdc_status_cte.cte(name="status") - https://github.com/PnX-SI/GeoNature/blob/2.15.2/backend/geonature/core/gn_synthese/utils/query_select_sqla.py#L626 - est appelé 2 fois lors d'une requête avec floutage et filtre BDC Statuts :

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants