PnX-SI / GeoNature

Application de saisie et de synthèse des observations faune et flore
GNU General Public License v3.0
104 stars 102 forks source link

Problème de permalien - module validation #2855

Open ahurabielle-picnat opened 10 months ago

ahurabielle-picnat commented 10 months ago

Version Version de GeoNature affectée par le bug. 2.12.3

Description du bug Lorsqu'un utilisateur envoie un permalien depuis le module de validation, celui-ci renvoie systématiquement vers une mauvaise observation.

Le lien est de la forme https://nom-de-domaine/geonature/#/validation/occurrence/numero_synthese_obs Le numéro_synthese_obs correspond bien à l'id_synthese dans la table gn_synthese.synthese de l'observation en question. Ainsi, si je remplace le mot validation par synthese dans l'URL, je retombe bien sur la bonne observation. Malheureusement, ce n'est pas l'observation qui est retournée lorsqu'on passe par l'URL de validation.

Ainsi, avec l'inspecteur web, pour un permalien de ce style : https://mon_url/geonature/#/validation/occurrence/232247 j'ai cette requête : POST https://mon_url/geonature/api/validation avec les paramètres {"limit":100,"id_synthese":"232247"}. Dans ma base de données, l'id_synthese 232247 correspond à une observation dont le cd_nom est 53811, un Melitaea phoebe. Pourtant, ce qui est retourné est une observation vers une hirondelle de fenêtre et une de merle noir. image

{"features":[{"geometry":{"coordinates":[2.403559,49.254375],"type":"Point"},"id":"4","properties":{"dataset":{"dataset_name":"Clicnat enqu\u00eates grand public","validable":true},"date_min":"2022-05-17 00:00:00","entity_source_pk_value":"2955","id_nomenclature_valid_status":466,"id_synthese":4,"last_validation":null,"meta_update_date":"2023-12-04 12:05:29.416755","nomenclature_valid_status":{"cd_nomenclature":"0","label_default":"En attente de validation","mnemonique":"En attente de validation"},"observers":"INCONNU","reports":[],"taxref":{"cd_nom":459478,"lb_nom":"Delichon urbicum","nom_vern":"Hirondelle de fen\u00eatre","nom_vern_or_lb_nom":"Hirondelle de fen\u00eatre"},"unique_id_sinp":"2442de8c-3664-41fd-8acf-13245f1778b2"},"type":"Feature"},{"geometry":{"coordinates":[2.405641,49.251784],"type":"Point"},"id":"7","properties":{"dataset":{"dataset_name":"Clicnat enqu\u00eates grand public","validable":true},"date_min":"2022-05-17 00:00:00","entity_source_pk_value":"2958","id_nomenclature_valid_status":466,"id_synthese":7,"last_validation":null,"meta_update_date":"2023-12-04 12:05:29.416755","nomenclature_valid_status":{"cd_nomenclature":"0","label_default":"En attente de validation","mnemonique":"En attente de validation"},"observers":"INCONNU","reports":[],"taxref":{"cd_nom":4117,"lb_nom":"Turdus merula","nom_vern":"Merle noir","nom_vern_or_lb_nom":"Merle noir"},"unique_id_sinp":"a64ab024-60e2-42af-99ba-29fa1632d28c"},"type":"Feature"}],"type":"FeatureCollection"}

Comportement attendu Je m'attendrai à ce que me soit retourné les informations concernant le bon id_synthese.

Comment reproduire Cliquer sur "permalien" depuis l'onglet de validation, copier l'URL et la coller dans un nouvel onglet.

Pierre-Narcisi commented 10 months ago

Je n'arrive pas à reproduire ce bug de mon côté, lorsque je vais sur un permalien, la modal qui s'ouvre est toujours la bonne, pourriez vous verifier s'il y a des erreurs dans vos logs ou dans votre console dans le navigateur ?

camillemonchicourt commented 10 months ago

Je confirme, je viens de tester sur le serveur de DEMO et je ne reproduis pas non plus le problème : https://demo.geonature.fr/geonature/#/validation/occurrence/8087

ahurabielle-picnat commented 10 months ago

Bonjour, En investigant, j'ai l'impression que l'API ne recherche pas le nombre que je passe en argument comme un tout, mais regarde chaque chiffre individuellement. Ainsi, dans mon exemple précédent, j'avais : https://mon_url/geonature/#/validation/occurrence/232247. Or, je n'ai pas de données dans la synthèse pour l'id 1 ni 2 ni 3 (données d'exemples, supprimées). Le module me renvoie donc deux observations, une pour l'id 4 et une pour l'id 7. Je n'ai pas encore trouvé pourquoi