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

Impossible de mettre tous les champs optionnels #205

Open gildeluermoz opened 1 year ago

gildeluermoz commented 1 year ago

Version de l'application

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

Terminal et Version Android

Marque et modèle du terminal : samsumg galaxy S7 Version d'Android : 8

Description du bug et comportement attendu

Lorsque l'on souhaite mettre tous les champs de la partie "Informations" derrière le bouton "Informations avancées" comme dans la configuration ci-dessous, le bouton "Informations avancées" ne s'affichent pas et tous les champs apparraissent. Comportement attendu : aucun champ ne s'affiche et seul le bouton"Informations avancées" est proposé.

"information": [
            {
                "key": "METH_OBS",
                "visible": true,
                "default": false
            },
            {
                "key": "ETA_BIO",
                "visible": true,
                "default": false
            },
            {
                "key": "STATUT_BIO",
                "visible": true,
                "default": false
            },
            {
                "key": "NATURALITE",
                "visible": true,
                "default": false
            },
            {
                "key": "METH_DETERMIN",
                "visible": true,
                "default": false
            },
            {
                "key": "PREUVE_EXIST",
                "visible": true,
                "default": false
            },
            {
                "key": "COMMENT",
                "visible": true,
                "default": false
            }
        ]

Comment reproduire

tester la configuration ci-dessus

camillemonchicourt commented 1 year ago

Oui surement. Bon, je reste un peu sceptique sur ce fonctionnement "INFORMATIONS AVANCEES". Selon moi, soit on propose des champs, soit on les masque complétement. Mais les proposer en les masquant par défaut, je trouve pas que ça soit une très bonne chose.

DonovanMaillard commented 1 year ago

effectivement, je me pose la même question. Et meme si on garde le fonctionnement, le terme "default" est mal choisi et devrait servir à proposer une valeur par défaut, pas à afficher le champs ou non dans une rubrique avancée.

gildeluermoz commented 1 year ago

Oui, les valeurs par défaut sont selectionnées et visibles. Ca peut être suffisant et tout ce qui est masqué fonctionne de la même manière sauf que l'utilisateur doit faire un étape de plus pour vérifier ce qui va être poussé en base. Sans parler du fait que c'est pas simple à comprendre, faire comprendre et la configuration s'en trouve complexifiée. Et pour le coup incohérente ici. Dans occtax web il y a un bouton "avancé" mais on ne peut pas choisir les champs qui sont devant ou derrière ce bouton. A voir si le conserver et/ou si rendre les comportement et configurations similaires entre les 2 modes de saisie.

gildeluermoz commented 1 year ago

le terme "default" est mal choisi et devrait servir à proposer une valeur par défaut, pas à afficher le champs ou non dans une rubrique avancée.

Oui, c'est aussi un souci qui exige de faire une conversion sémantique pas simple. Par contre, pas sur qu'il faille permettre une configuration des valeurs par défaut dans le fichier settings.json. Ca va faire une règle de plus à gérer et où il ne sera pas facile de savoir laquelle est prioritaire sur les valeurs par défaut définies en base.

DonovanMaillard commented 1 year ago

Non non, je ne suis pas du tout favorable à définir une valeur par défaut coté conf, ca n'a aucun intérêt. Les valeurs par défaut sont déjà gérées en BDD, et la conf est dans le cas général centralisée et délivrée par le serveur, donc aucune plus value à la rendre configurable aux deux endroits :)

Ce que je veux dire c'est que l'administrateur qui voit ce paramètre aurait plutôt tendance à penser à une valeur par défaut quand il voit ce libellé de paramètre, qu'à un affichage classique vs derrière un bouton avancé.

Pour ma part, j'ai totalement viré ce bouton en faisant en sorte que tous mes champs visibles le soient par défaut, et de ne rien avoir derrière un bouton "avancé". Est-ce qu'il faut aller jusqu'à supprimer la fonctionnalité qui existe je ne sais pas... mais si on pouvait au moins remplacer ce libellé "default" par "advanced" par exemple, on comprendrait peut-être mieux. Et par cohérence, ca serait bien de s'aligner sur le même fonctionnement pour les dénombrements (#204 ) ...

sgrimault commented 1 year ago

C'est la propriété default qui porte à confusion qu'il faudrait plutôt renommer en optional avec pour valeur false par défaut. Ainsi les champs seraient tous visibles directement si on ne précise rien. Ce qui donnerait ceci avec la configuration actuelle :

[
  {
    "key": "METH_OBS",
    "visible": true,
    "optional": false
  },
  {
    "key": "ETA_BIO",
    "visible": true,
    "optional": false
  },
  {
    "key": "METH_DETERMIN",
    "visible": true,
    "optional": true
  },
  {
    "key": "determiner",
    "visible": true,
    "optional": true
  },
  {
    "key": "STATUT_BIO",
    "visible": true,
    "optional": true
  },
  {
    "key": "OCC_COMPORTEMENT",
    "visible": true,
    "optional": true
  },
  {
    "key": "NATURALITE",
    "visible": true,
    "optional": true
  },
  {
    "key": "PREUVE_EXIST",
    "visible": true,
    "optional": true
  },
  {
    "key": "comment",
    "visible": true,
    "optional": true
  }
]
camillemonchicourt commented 1 year ago

"optional" porte à confusion, car ça laisse penser que ce champs est obligatoire ou optionnel.

Je dirai plutôt "advanced".

DonovanMaillard commented 1 year ago

Oui comme camille, l'administrateur pourrait considérer qu'il peut rendre des champs obligatoires à renseigner avec le terme "optionnal".

Avant de chercher le terme... est-ce qu'on veut vraiment garder ce truc de avancé ou non?

gildeluermoz commented 1 year ago

Avant de chercher le terme... est-ce qu'on veut vraiment garder ce truc de avancé ou non?

Je dirais non. Les champs remplis avec des valeurs par défaut + le blocage possible (cadenas) d'autres valeurs que la valeur par défaut milite pour avoir sous les yeux l'ensemble du formulaire. Avoir des contenus de la saisie cachés derrière ce bouton est soit source d'erreurs involontaires, soit perte de temps car ajoutant un clic.

DonovanMaillard commented 1 year ago

Si ça convient à tout le monde, on peut donc retenir de supprimer le paramètre "default" à l'avenir et supprimer totalement ce bouton "avancé". Soit le champs est affiché soit il ne l'est pas. Ca simplifiera la configuration et fera un terme ambigu en moins à dompter.

Ca permet au passage d'avoir le même fonctionnement sur les formulaires dénombrements et taxons, sans bouton avancé.

gildeluermoz commented 1 year ago

:+1: