Open EC2311 opened 2 years ago
Bonjour
La restriction par entité dans la dropdown permettant de choisir la valeur par défaut n'est pas implémentée. C'est à vous de choisir une valeur respectant cette contrainte.
Il n'est en effet pas possible d'appliquer la restriction car il y a de nombreux paramètres à prendre en compte et certains sont impossible à déterminer au moment de concevoir le formulaire
Cela se complexifie si on prend en compte la configuration de restriction : formulaire, utilisateur ou les deux.
Je ne suis pas convaincu qu'il y ait une solution.
Je me suis peut etre mal exprimé : Je ne veux pas filtrer du tout. En fait dans le formulaire, en mode creation, et dans les valeurs par défaut, je vois bien TOUTES les valeurs de l'intitulé : pas de souci, et je n'en sélectionne AUCUNE. QUand je passe en prévisualisation, voire meme en execution du formulaire, le champs "selection" de la valeur intitulé ne présente que 2 valeurs, je ne vois pas les autres (soit à la racine, ou sous racine) et c'est la que j'ai le probleme : je ne comprends pas pourquoi seules 2 valeurs (sur 5 meme entité) et 4 (autre entité) sont visibles...
Comment est configurée la restriction par entité dans la question ?
Je n'ai pas de question sur l'entité Edit : A priori la notion "d'entité" s'affiche mais disparait quand on selectionne un type d'intitulé.... etrange
Voici ce que je vois dans les valeurs par defaut (dans le formulaire en création) : -> on voit bien toutes les valeurs de l'intitulé : ok
et quand je lance le formulaire en previsualisation : j'ai essaye de jouer sur la notion d'arbre, mais je pense que c'est pour les 'enfants de'
Le contenu de la table intitulé
Je ne comprends donc pas pourquoi "au moins l'ensemble" des intitulés n'est pas affiché.
Version plugin : 2.12.3
Il me semble que l'absence de cette option est une régression que j'ai corrigé récemment. Vous devriez trouver une PR fermée à ce sujet. Sinon vous pouvez essayer la dernière révision de la branche support/2.12.0 (attention, composer et yarn requis pour assembler les dépendances).
Il y a plusieurs correctifs dans le ticket ci dessous. Appliquez les, ils devraient faire réapparaître l'option manquante.
J'ai vérifié ce point : https://github.com/pluginsGLPI/formcreator/commit/3c2c79cfbc2954e4be8f192e0b451d8ed09fc408 : ils y sont.
Dans la table formcreator_question, pour la question spécifiée je vois ceci notamment {"itemtype":"PluginFieldsNumerosemainefieldDropdown","show_tree_depth":"0","show_tree_root":"0","selectable_tree_root":"0","entity_restrict":"2"} ce qui semblerait dire que la gestion de l'entité est bien lié au formulaire, qui lui meme est 'root' mais recursif. Il existe des intitulés à la racine mais aussi en sous entités, comme on le voit dans les valeurs par defaut...
A priori, le numéro de l'id de l'intitulé semble intervenir : si des trous existent dans les intitulés, ils ne semblent pas tous affichés.
Y aurait-il moyen de voir la requete qui est lancée lors de l'affichage du dropdown ?
Dans inc/fields/dropdownfield.class.php il y a une méthode nommée buildParams().
La récursion n'est pas activée car une ligne de code est mise en commentaire.
Il faudra peut être réactiver et étoffer la récursion pour fonctionner avec les 3 modes de restriction possible. A mon avis, la restriction sur le formulaire et l'utilsiateur en même temps ne sera pas possible sans reflexion approfondie.
c'est plutot inc/field/dropdownfield.class
Par contre je ne vois pas trop le lien avec les entités, car j'ai d'autres intitulés (via fields) qui sont multi entités, et dans le meme formulaire, l'affichage est correct... donc a y rien comprendre...
J'ai essayé de passer en mode debug, mais hormis les tables qui sont accédées...
je ne sais pas ou peut se trouver le bug... J'ai recréé un autre intitulé, doublon, meme structure et l'affichage COMPLET est ok... Contenu de la table avec affichage partiel:
Contenu de la table avec affichage Complet
J'ai refait ensuite un autre intitulé. Jour de la semaine...Je vois de DImanche (ID=1) jusque Jeudi (Id=5). Les enregistrements ont TOUS la meme structure
Bonjour
J'ai trouvé un cas semblable à votre problème; la cause venait de la mise en cache des relations parent / enfant entre les intitulés. Le cache n'était pas à jour.
Le patch suivant désactive le cache pour les objets arborescents. Il est à appliquer sur GLPI 9.5. Appliquez le pour voir si cela change quelque chose, puis retirez le.
diff --git a/inc/dbutils.class.php b/inc/dbutils.class.php
index 1d8656fe3d..928f5ded7c 100644
--- a/inc/dbutils.class.php
+++ b/inc/dbutils.class.php
@@ -713,7 +713,7 @@ final class DbUtils {
$ckey = 'sons_cache_' . $table . '_' . $IDf;
$sons = false;
- if (Toolbox::useCache()) {
+ if (false && Toolbox::useCache()) {
if ($GLPI_CACHE->has($ckey)) {
$sons = $GLPI_CACHE->get($ckey);
if ($sons !== null) {
Bonjour, J'ai le même problème sur mon instance qui tourne sur glpi 9.5.7 et avec FormCreator en version 2.12.5. Il semblerait que le patch ci-dessus ne corrige pas le problème.
Bonjour
Essayez ce patch : https://github.com/pluginsGLPI/formcreator/commit/ac36272d1cd3ebdffc467425b154cc4cbfe952ad
Bonjour, Effectivement cela règle le souci sur l'ensemble de mes formulaires. Merci pour votre intervention.
Bonjour
Merci pour votre retour
@EC2311 est ce que le patch fonctionne également pour vous ?
petites remarques :
Bonjour @EC2311 : essayez de monter à la dernière version 2.12.5 et appliquez le patch. Le code bouge et les numéros de ligne ne sont pas une indication à prendre seules pour localiser où patcher. Préférez d'ailleurs l'outil patch qui fera toutes les vérifications nécessaires avant de faire des modifications de code.
Formulaire à la racine (visible sous entité) et utilisant des intitulés de sous entité.
Creation d'un libellé entité (champs supplémentaire) : OK Utilisation de ce libellé via Formulaire (type d'objet intitulé) : ok Je vois toutes les valeurs de ce libellé (via valeurs par defaut de la question) : ok
Lorsque je prévisualise le formulaire, je ne vois que 2 valeurs de ce libellé.
j'ai créé des valeurs d'intitulés à la racine avec visiblité sous-entité : meme probleme... : elles n'apparaissent pas en choix, mais elles apparaissent dans les valeurs par defaut...