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

[OCCTAX] Requête sur les jdd #239

Closed
andriacap opened this issue Dec 19, 2023 · 12 comments
Closed

[OCCTAX] Requête sur les jdd #239

andriacap opened this issue Dec 19, 2023 · 12 comments
Labels
bug Something isn't working solved in next release

Comments

@andriacap
Copy link

Version de l'application

Version d'Occtax-mobile affectée par le bug :
Version de GeoNature utilisée : 2.13.3

Description du bug et comportement attendu

Il y a un soucis sur les permissions remontées pour la saisie de relevé occtax avec sélection des JDD . Suivant le modèle de la documentation la requête pour récupérer les JDD dans occtax-mobile est une requête GET alors que côté GN c'est une requête post pour pouvoir préciser le contexte (création dans occtax) et ainsi permettre de faire remonter les permissions associées à ce contexte et notamment sur la lecture des JDD.

Comment reproduire

Pour reproduire le problème il faut donner des permsissions comme précisé dans l'image ci dessous à un utilisateur test :

image

Il faut ensuite aller sur occtax mobile et faire un relevé, voir la liste des JDD remontée (qui est la liste entière des JDD et qui ne devrait pas l'être).

Issue en lien sur GN et qui a été corrigée côté GN :
PnX-SI/GeoNature#2815 (comment)

@andriacap andriacap added the bug Something isn't working label Dec 19, 2023
@sgrimault
Copy link
Collaborator

Bonjour @andriacap,

Je suppose que c'est avec la dernière version stable de l'application (2.6.x) ?
Pour information, la version 2.7.0-rc3 corrige notamment l'appel à la route pour récupérer les jeux de données et fait donc un POST au lieu d'un GET.

@camillemonchicourt camillemonchicourt changed the title [IOCCTAX] Requête sur les jdd [OCCTAX] Requête sur les jdd Dec 20, 2023
@camillemonchicourt
Copy link
Member

Si je comprends bien, le soucis est celui identifié et corrigé dans GeoNature 2.13.2, dans cette PR - https://github.com/PnX-SI/GeoNature/pull/2712/files ?
Et non pas PnX-SI/GeoNature#2815 (comment) ?

Mais je ne suis pas au clair sur le sujet. Et je ne vois clair sur l'histoire de passer en POST ou GET pour interroger la route des JDD...

Ce soucis est assez embêtant. On est passé à côté du fait que cette évolution de GeoNature est aussi à répercuter dans Occtax-mobile.
Il faut peut-être prévoir une release 2.6.2, compatible avec GeoNature 2.13, en attendant la sortie 2.7 d'Occtax-mobile ?

@TheoLechemia
Copy link
Member

TheoLechemia commented Dec 21, 2023

C'est encore un autre problème que PnX-SI/GeoNature#2712. Ce commit fixait le fait que les permissions n'étaient pas prises en compte lors de l'appel en POST.
Par contre pas de rapport avec PnX-SI/GeoNature#2815 (comment) qui était un problème de front côté GeoNature web.

Actuellement, la liste des JDD autorisés à la création dans Occtax est bonne si le paramètre create=OCCTAX (en POST ou en GET) -> on renvoie bien tous les JDD associés au module OCCTAX et ceux correspondant au niveau de SCOPE "Create" définit pour le module Occtax
En analysant les "access log", je vois que le mobile appelle la route sans les bons paramètres : /api/meta/datasets?fields=modules. Via le paramètre field=modules, j'image qu'un filtre est fait côté appli mobile en récupérant les JDD associé au module. Mais aucun filtre de permission n'est effectué

@sgrimault est ce que dans la 2.7, tu passe bien ce paramètre create=OCCTAX dans le POST ?

@camillemonchicourt
Copy link
Member

OK donc le soucis ne devrait pas être nouveau et présent depuis le départ... 🤔
Et donc depuis le départ cela renvoie tous les JDD en interrogeant sans filtre la route /datasets qui est ensuite filtrée localement au niveau du mobile pour ne garder que ceux associés au module Occtax.
C'est ce que je comprends aussi de https://github.com/PnX-SI/gn_mobile_core/blob/master/docs/data_sync.adoc
Mais donc ça ne filtre pas du tout selon les permissions... 🤔
A clarifier, préciser donc.

@sgrimault
Copy link
Collaborator

sgrimault commented Dec 21, 2023

@TheoLechemia,

Voici la nouvelle requête qui est jouée sur la dernière version (2.7.0-rc3) :
POST -> /api/meta/datasets?fields=modules
avec comme body :

{
  "module_code": "OCCTAX"
}

L'application filtre ensuite les jeux de données qui correspondent au module souhaité (ici : "OCCTAX"). Ce fonctionnement remonte aux toutes premières versions de l'application où la synchronisation était découplée de l'application "Occtax" via une application dédiée "Sync" et donc "agnostique" sur les données. Je pense que maintenant on pourrait simplifier tout ça et que coté synchronisation ne remonter que les jeux de données déjà filtrées selon le module "OCCTAX".

@TheoLechemia
Copy link
Member

Oui, maintenant il faut bien passer ça en POST :
{"create": "OCCTAX"}
cela va renvoyer uniquement les JDD associés au module OCCTAX et surtout cela va renvoyer uniquement les JDD sur lesquels l'utilisateur à des droite "CREATE" sur le module "OCCTAX"

@sgrimault
Copy link
Collaborator

Ok, merci :) et concernant le paramètre fields dans l'URL, je le laisse ?

@camillemonchicourt
Copy link
Member

Non pas utile de préciser ?fields=modules car plus besoin ce champs, vu que tu ne filtreras plus localement.

@andriacap
Copy link
Author

Bonjour ,
Bonne année et bonne santé à vous !

Je prends connaissance seulement maintenant de vos messages car j'étais en congés.
Merci pour votre réactivité sur cette issue !
Du coup le problème des jdd (en lien avec les permissions Create OCCTAX ) sera résolu dans quelle release ?
Merci d'avance et bonne journée :)

@sgrimault
Copy link
Collaborator

Bonjour,

Je vous souhaite également une bonne et heureuse année !
La correction est disponible dans la version 2.7.0-rc4.

Bonne journée :)

@andriacap
Copy link
Author

Bonjour,

Merci beaucoup pour votre retour !

Bonne journée à vous aussi :)

@camillemonchicourt
Copy link
Member

Fait dans la 2.7.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working solved in next release
Projects
None yet
Development

No branches or pull requests

4 participants