pluginsGLPI / formcreator

GLPI Plugin Formcreator (DOWNLOAD : https://github.com/pluginsGLPI/formcreator/releases)
http://www.teclib-edition.com
GNU General Public License v3.0
171 stars 125 forks source link

Condition d'affichage d'une section invalide quand test = vide #1809

Open mab18 opened 4 years ago

mab18 commented 4 years ago

Bonjour, Describe the bug et reproduction : Suite à création d'une section de "mots clefs" je souhaite que cette section ne s'affiche pas. Jamais.

J'ai créé une section avec une question texte. Sur la section, je met un test "masqué par défaut, sauf si" et je ne met rien en condition. La section s'affiche malgré tout. En revenant sur le test de la section, je constate que l'affichage est incohérent : image En changeant ces valeurs de test, on peut arriver à bloquer l'édition de la section. La seule option est alors de la dupliquer , de la supprimer, et de travailler sur la copie. Si on met le test en "affiché par défaut sauf si" , puis qu'on remette "masqué..." et qu'on valide, alors ça fonctionne. (On ne change pas la condition sur valeur de zone. D'ailleurs, elle n’appairait pas au départ, mais apparaît ensuite. Enchainement pour créer le bug : On créé la section avec sa condition : image On valide (ajoute). On édite le test de la section : image Le test à disparu et du coup, la section va s'afficher. Si on met en toujours visible, le test reste une fois validé/édité : image Pour que le test se supprime tout seul en cas de "toujours visible", il faut rechoisir un des 2 autres tests, puis remettre sur "toujours visible".

-> Pour que ça fonctionne, il semble qu'il faille créer la section, laisser "toujours affiché". valider. Editer la section, changer le test en "masqué par défaut, sauf si", laisser le test intact, valider. Là, ça fonctionne correctement. Il me semble qu'on ne peut plus se "séparer" du test une fois mis. Il se réaffiche, quel que soit le test mis (parmi les 3)

Expected behavior Le test ne devrait pas disparaître, on pourrait vouloir tester une valeur vide sur la zone qui est par défaut.

Screenshots voir plus haut

Additional context GLPI 9.4.6+FC 2.9.2

btry commented 4 years ago

Bonjour

J'ai fait une correction récemment, je ne sais plus si c'est avant ou après la release 2.9.2.

La correction résout quelques anomalies lors de la gestion des conditions, et en particulier il ne doit plus être possible d'activer les options "masqué sauf si" et "affiché sauf si" si il n'y a aucune condition de définie.

Il faudrait appliquer le patch et trouver une autre solution, comme cacher la section sauf si une question contient une valeur impossible à obtenir (faisable avec des radios, checkboxes, ou une dropdown)

btry commented 4 years ago

Eventuellement, vous pouvez utiliser un champ caché, avec une valeur vide. Il ne s'affichera jamais au niveau du demandeur, mais avec la balise ##FULLFORM## son libellé apparaitra dans les cibles générées.

mab18 commented 4 years ago

Bonjour

J'ai fait une correction récemment, je ne sais plus si c'est avant ou après la release 2.9.2.

La correction résout quelques anomalies lors de la gestion des conditions, et en particulier il ne doit plus être possible d'activer les options "masqué sauf si" et "affiché sauf si" si il n'y a aucune condition de définie.

Il faudrait appliquer le patch et trouver une autre solution, comme cacher la section sauf si une question contient une valeur impossible à obtenir (faisable avec des radios, checkboxes, ou une dropdown)

Bonjour, C'est axactement ce que j'ai fait : je fais un test du genre caché sauf si zone = xxxxxxxxxxxxxxxxxxxxxxxxxx ... Ca le fait. Il reste néanmoins que ce comportement est suspect ;-) . Je ne suis pas trop adroit pour rechercher un patch... pourriez-vous me guider ?

btry commented 4 years ago

C'est ce patch là https://github.com/pluginsGLPI/formcreator/pull/1770

il n'est pas dans la version 2.9.2.

btry commented 4 years ago

Bonjour

Pour répondre proprement au besoin, il faudrait créer un nouveau champ dans la table des formulaires. Je passe ce ticket en demande de feature. Reste à noter que le "moteur de recherche" ne me parait pas satisfaisant vu les contraintes imposées MySQL.

btry commented 3 years ago

Une solution a été réalisée pour le moteur de recherche. Il n'y a à priori plus de problème.

Il reste à avoir un champ dédié aux mots clés au niveau de la table des formulaires en BDD.