PnX-SI / gn_mobile_occtax

Application mobile pour la saisie dans le module Occtax de GeoNature
GNU General Public License v3.0
13 stars 2 forks source link

Bugs selon le compte utilisateur #184

Closed AudreyEnGuyane closed 1 year ago

AudreyEnGuyane commented 1 year ago

Bonjour à tous, là où je pensais avoir un bug carto se révèlerai plutôt un bug compte-utilisateur (la galère avant de comprendre...). Android 11 GN 2.9.2 OccTax Mobile 2.3.0

En me connectant avec un utilisateur lambda (avec nom/prenom saisis), tout fonctionne.

Si je me connecte avec le compte admin (nom: administrateur/prenom: null; associé au groupe "groupe_admin" dont profil GN = "administrateur"), c'est le GROS plantage: occtax_20220816_120945.log >> redémarrage avec login compte admin >> se synchronise, charge les référentiels, on peut même faire de la saisie (partielle ou complète) d'un/plusieurs relevés occtax_20220816_121049.log >> redémarrage >> Fermeture brutale et pas moyen de le redémarrer. Seul moyen de résoudre le problème: désinstaller/réinstaller l'application mais ça ne change rien au problème. La solution: tous les profils associés à Géonature doivent être soit "Aucun" soit "Lecteur" et non "Administrateur"

Si je me connecte avec un compte lambda SANS prenom, seule la réauthentification automatique ne se fait pas car il ne trouve pas la session (peut-être y a-t-il une autre raison?) occtax_20220816_130450.log

C'est assez problématique hors ligne car on ne peut pas se reconnecter sur l'appli...

Je ne sais pas si j'ai la bonne analyse mais tout semble se résoudre si le profil associé à GN dans UserHub est "Lecteur" et si l'utilisateur à un nom ET un prenom. Je veux bien un retour...

TheoLechemia commented 1 year ago

Hum pas sur que ça vienne du fait que ton admin soit profil "admin", mais plutôt le fait qu'il n'ai pas de prénom ?

12:10:49.732 INFO: [fr.geonature.occtax.MainApplication] external storage: 'null'
12:10:49.983 ERROR: [fr.geonature.occtax.MainApplication$TinylogUncaughtExceptionHandler] java.lang.IllegalStateException: Expected a string but was NULL

quoique, il n'a pas l'air de vérifier le nom, mais plutot le stockage externe ... C'est facile à tester, rajoute un prenom à ton admin ! Soit dit en passant, le profile "admin" ne correspond à rien pour GeoNature. Il suffit de mettre le profil lecteur, pour pouvoir se connecter à l'appli. La gestion des droits se gère ensuite entierement dans GeoNature (Cruved)

AudreyEnGuyane commented 1 year ago

C'est ce que j'ai fait: le groupe administrateur a désormais un profil lecteur et un prénom ("cocotte", c'est joli non? :-) ) et ça fonctionne.

camillemonchicourt commented 1 year ago

En effet, pour qu'un utilisateur ait accès à GeoNature, il doit disposer d'un profil "Lecteur", voir https://docs.geonature.fr/admin-manual.html#acces-a-geonature-et-cruved

Par contre, ce n'est pas normal que l'absence de prénom fasse planter Occtax-mobile, ce serait à corriger en effet.

sgrimault commented 1 year ago

Effectivement, l'application s’attend à recevoir un modèle JSON bien précis en retour et les attributs nom_role et prenom_role restent obligatoires. Il manque donc une validation stricte coté application pour s'assurer que le retour JSON suite à l'authentification reste conforme avant de poursuivre le traitement, à l'image de ce qui est fait sur la partie synchronisation des données.

DonovanMaillard commented 1 year ago

Corrigé dans la version 2.4