You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2014-05-23 12:00:24

ksubirats
Member
Registered: 2014-05-23
Posts: 8

Ajout d'un lien direct FormCreator et modification affichage des menus

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

#2 2014-05-23 13:19:17

winvince
Member
Registered: 2014-05-22
Posts: 4

Re: Ajout d'un lien direct FormCreator et modification affichage des menus

Super merci smile  très bon post !  et très utile !

Offline

#3 2014-05-23 13:22:36

dethegeek
HELPER
From: France
Registered: 2013-09-03
Posts: 588
Website

Re: Ajout d'un lien direct FormCreator et modification affichage des menus

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 smile

Last edited by dethegeek (2014-05-23 13:25:28)

Offline

#4 2014-05-23 17:05:10

ksubirats
Member
Registered: 2014-05-23
Posts: 8

Re: Ajout d'un lien direct FormCreator et modification affichage des menus

dethegeek wrote:

Bonjour

Comme GLPI 0.85 permet plus de choses niveau menu déroulant, c'est peut être faisable pour cette version sans rien toucher smile

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. neutral

Offline

#5 2014-05-23 17:55:14

dethegeek
HELPER
From: France
Registered: 2013-09-03
Posts: 588
Website

Re: Ajout d'un lien direct FormCreator et modification affichage des menus

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

#6 2014-06-19 12:09:41

ksubirats
Member
Registered: 2014-05-23
Posts: 8

Re: Ajout d'un lien direct FormCreator et modification affichage des menus

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 :

Modif-FormCreator-001.png

Offline

#7 2014-06-19 12:10:08

ksubirats
Member
Registered: 2014-05-23
Posts: 8

Re: Ajout d'un lien direct FormCreator et modification affichage des menus

Pour un profil avec interface simplifiée, la liste des formulaires :

Modif-FormCreator-002.png

Offline

#8 2014-06-19 12:10:53

ksubirats
Member
Registered: 2014-05-23
Posts: 8

Re: Ajout d'un lien direct FormCreator et modification affichage des menus

Pour un profil avec interface complète , à la connexion : 

Modif-FormCreator-003.png

Offline

#9 2014-06-19 12:11:24

ksubirats
Member
Registered: 2014-05-23
Posts: 8

Re: Ajout d'un lien direct FormCreator et modification affichage des menus

Pour un profil avec interface complète, la liste des formulaires :

Modif-FormCreator-004.png

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

#10 2014-06-19 12:54:54

dethegeek
HELPER
From: France
Registered: 2013-09-03
Posts: 588
Website

Re: Ajout d'un lien direct FormCreator et modification affichage des menus

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

#11 2014-10-10 11:21:36

dethegeek
HELPER
From: France
Registered: 2013-09-03
Posts: 588
Website

Re: Ajout d'un lien direct FormCreator et modification affichage des menus

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

#12 2017-07-17 00:59:19

mb2013
Member
Registered: 2017-05-10
Posts: 16

Re: Ajout d'un lien direct FormCreator et modification affichage des menus

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

Board footer

Powered by FluxBB