You are not logged in.
Le plugin FormCreator permet de créer des formulaires de saisie plus simples pour les utilisateurs et de formaliser les données.
Néanmoins, après installation, nous avons été confrontés à deux soucis.
Symptômes constatés :
1 - Le menu pour accéder aux formulaires est logique pour un administrateur, mais pas du tout pour un utilisateur sous Interface Simplifiée
2 - Les pages du plugin ne gèrent pas l'affichage du menu en Interface Simplifié. Quand on est dans la liste des formulaires depuis un profil de type Interface Simplifié, l'affichage se fait avec le menu d'Interface Standard.
Amélioration point 1 :
Nous avons décidé de rajouter un élément dans le menu via la fonction helpheader du fichier /inc/html.class.php
Le seul souci est que cet élément n'est pas lié à un droit particulier, et donc, tous les profils ayant accès à une interface simplifiée verront les formulaires.
Nous avons donc imaginer deux solutions (non implémentées) : soit ajouter un nouveau droit spécifique permettant d'accéder à ce menu direct Formulaire, soit tout gérer avec les formulaires (ce que nous allons sûrement faire)
Bref, voici la partie ajout du menu
Fichier html.class.php
// Create ticket
if (Session::haveRight("create_ticket","1")) {
echo "<li id='menu2'>";
echo "<a href='".$CFG_GLPI["root_doc"]."/front/helpdesk.public.php?create_ticket=1' ".
"title=\"".__s('Create a ticket')."\" class='itemP'>".__('Create a ticket')."</a>";
echo "</li>";
}
// Affichage formulaires
echo "<li id='menu2'>";
echo "<a href='".$CFG_GLPI["root_doc"]."/plugins/formcreator/front/formlist.php' title=\"
Formulaires\" class='itemP'>Formulaires</a>";
echo "</li>";
// Suivi ticket
if (Session::haveRight("observe_ticket","1")
|| Session::haveRight("create_ticket","1")) {
echo "<li id='menu3'>";
echo "<a href='".$CFG_GLPI["root_doc"]."/front/ticket.php' title=\"".
__s('Ticket followup')."\" class='itemP'>"._n('Ticket','Tickets',2)."</a>";
echo "</li>";
}
Amélioration point 2 :
Pour gérer les formulaires correctement et ne plus avoir les menus qui changent inopinément, il faut modifier 4 fichiers, tous dnas le répertoire /plugins/formcreator/front
Fichier form.php
Remplacer le code :
Html::header($LANG['plugin_formcreator']['name'],
$_SERVER['PHP_SELF'],
"plugins",
"formcreator",
"form"
);
Par le code :
if ($_SESSION['glpiactiveprofile']['interface'] == 'central') {
//from central
Html::header($LANG['plugin_formcreator']['name'],
$_SERVER['PHP_SELF'],
"plugins",
"formcreator",
"form"
);
} else {
//from helpdesk
Html::helpHeader($LANG['plugin_formcreator']['name']);
}
Fichier formlist.php
Remplacer le code :
Html::header($LANG['plugin_formcreator']['name'],
$_SERVER['PHP_SELF'],
"plugins",
"formcreator",
"form"
);
Par le code :
if ($_SESSION['glpiactiveprofile']['interface'] == 'central') {
//from central
Html::header($LANG['plugin_formcreator']['name'],
$_SERVER['PHP_SELF'],
"plugins",
"formcreator",
"form"
);
} else {
//from helpdesk
Html::helpHeader($LANG['plugin_formcreator']['name']);
}
Fichier form.helpdesk.php
Remplacer le code :
Html::header($LANG['plugin_formcreator']['name'],
$_SERVER['PHP_SELF'],
"plugins",
"formcreator",
"form",
"chargement($cache, $affiche)"
);
Par le code :
Html::helpHeader($LANG['plugin_formcreator']['name'],"chargement($cache, $affiche)");
Fichier helpdesk.form.php
Remplacer le code :
Html::header($LANG['plugin_formcreator']['name'], $_SERVER['PHP_SELF'], "plugins", "formcreator", "form"
);
Par le code :
Html::helpHeader($LANG['plugin_formcreator']['name']);
Je pense qu'il pourrait être intéressant que les modifications du code des 4 fichiers du plugin soient intégrées dans une future version.
Last edited by ksubirats (2014-05-23 12:01:15)
Offline
Super merci très bon post ! et très utile !
Offline
Bonjour
Peux tu ajouter des captures d'écran de ce que ça donne ?
Comme GLPI 0.85 permet plus de choses niveau menu déroulant, c'est peut être faisable pour cette version sans rien toucher
Last edited by dethegeek (2014-05-23 13:25:28)
Offline
Bonjour
Comme GLPI 0.85 permet plus de choses niveau menu déroulant, c'est peut être faisable pour cette version sans rien toucher
Oui, j'ai vu que la 0.85 allait avoir pas mal d'options en plus. Du coup, on pousse pas plus notre "bidouille"...
Pour les copies d'écran, je n'ai pas d'espace de stockage...
Il faut que je me crée cela.
Offline
Quelqu'un ici a utilisé un site pour quelques captures : tinypic (je te laisse trouver l'adresse). Simple direct, sans fioriture. J'ai adopté du coup.
Offline
Deux informations :
tout d'abord, j'ai modifié mon code dans html.class.php pour en fait ne pas permettre au profil Self-Service,qui est créé par défaut lors de l'installation de GLPI de voir les formulaires.
Il faut toujours un profil helpdesk, mais ayant un code différent. Mes users étant importés depuis l'annuaire LDAP, ils prennent automatiquement le profil "Self-Service"
Voici le code modifié :
// Affichage formulaires uniquement si helpdesk non profil de base
if ($_SESSION['glpiactiveprofile']['name'] != 'Self-Service' && $_SESSION['glpiactiveprofile']['interface'] != 'central') {
echo "<li id='menu2'>";
echo "<a href='".$CFG_GLPI["root_doc"]."/plugins/formcreator/front/formlist.php' title=\"
Formulaires\" class='itemP'>Formulaires</a>";
echo "</li>";
}
Et ensuite, les images de l'interface modifiée :
Pour un profil avec interface simplifiée, à la connexion :
Offline
Pour un profil avec interface simplifiée, la liste des formulaires :
Offline
Pour un profil avec interface complète , à la connexion :
Offline
Pour un profil avec interface complète, la liste des formulaires :
P.S. : c'est vraiment chiant cette limite de 1 lien par post... J'en vois pas l'intérêt...
Last edited by ksubirats (2014-06-19 12:12:33)
Offline
Bonjour,
merci pour les captures. (bizarre il me semble avoir fait 1 ou 2 posts avec plusieurs captures).
Quand je pourrai reprendre un peu de développement (trop occupé là) je vois pour intégrer cela dans une version pour GLPI 0.85. Je pense que ce sera possible sans toucher les fichiers de GLPI lui-même.
Offline
Bonjour
Juste pour information, le plugin a été entièrement réécrit il y a quelques semaines (pas par moi).
@ksubirats
Pour l'avoir testé et adopté, je pense que tu devrais l'essayer. La nouvelle version apporte pas mal de choses intéressantes, et l'inclusion des patchs que tu as fait ne sont probablement plus nécessaires. L'avantage pour toi d'utiliser la nouvelle version officielle (si elle te convient) est que tu n'as pas à ré appliquer ton patch à chaque upgrade.
En passant, si quelque chose ne correspond pas tout à fait à tes besoins, il suffit d'ouvrir un ticket.
Le plugin est passé sur Github https://github.com/TECLIB/formcreator
Offline
Bonjour ,
Je suis un administrateur glpi version 0.9.5 et j'ai tombé dans un probleme. Je vous demande de me débloquer .quand j'envoi un formulaire à la validation , le valideur ne recoit pas le mail de notification c à d la demande de validation et mail reste en fil d'attente.
salutation
Offline