Open andriacap opened 6 months ago
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
.
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 https://github.com/PnX-SI/GeoNature/issues/2815#issuecomment-1838725438 ?
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 ?
C'est encore un autre problème que https://github.com/PnX-SI/GeoNature/pull/2712/file. 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 https://github.com/PnX-SI/GeoNature/issues/2815#issuecomment-1838725438 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 ?
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.
@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".
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"
Ok, merci :) et concernant le paramètre fields
dans l'URL, je le laisse ?
Non pas utile de préciser ?fields=modules
car plus besoin ce champs, vu que tu ne filtreras plus localement.
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 :)
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 :)
Bonjour,
Merci beaucoup pour votre retour !
Bonne journée à vous aussi :)
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 :
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 : https://github.com/PnX-SI/GeoNature/issues/2815#issuecomment-1838725438