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 2013-06-26 11:16:58

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,243

FORM CREATOR : Type de ticket incompatible avec catégorie

Bonjour,
dans le plugin FORMCREATOR, la catégorie du ticket créé est paramétrée dans le formulaire. Dans les dernieres versions de GLPI les catégories peuvent  être de type "demande" ou "Incident" ou les deux selon le paramétrage.

le formulaire crée des tickets avec un type par défaut qui ne dépend pas du formulaire : il est possible de créer des tickets avec un type incompatible avec le paramétrage de la catégorie.
ex : tous les tickets d'une entité sont créés avec le type "demande" mais les catégories peuvent être "incident" et paramétrées pour n'être pas visible dans une demande.

pour éviter ce risque, il ne faut utiliser les formulaires que pour les demandes ou que pour les incidents. ce qui est dommage.

Je ne vois pas dans le paramétrage un moyen de contourner le problème, sauf à ajouter le type(demande/incident) dans le paramétrage du formulaire.

Quelqu'un aurait-t-il une autre solution ?
merci pour votre aide.


Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9

Offline

#2 2013-06-27 15:54:34

nicotontige
Member
Registered: 2011-06-15
Posts: 137

Re: FORM CREATOR : Type de ticket incompatible avec catégorie

Bonjour,

Je peux éventuellement faire une modification du plugin pour qu'à la création du formulaire on à choix dans le ticket cible pour une demande ou un incident.

Est-ce que c'est que vous désirez ?

Offline

#3 2013-06-27 16:10:42

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,243

Re: FORM CREATOR : Type de ticket incompatible avec catégorie

Bonjour,
effectivement, le choix du type dans le formulaire permettrait  de créer des formulaires pour des demandes ou des incidents.

Si j'exprime mon besoin complet  j'aimerais pourvoir définir plus de valeurs dans le paramétrage du formulaire :  observateur, attribué à, attribué à groupe, type d'élément associé, élément associé, sla, source de la demande....) comme c'est déjà possible pour priorité, impact, urgence, et catégorie.

en paramétrant la catégorie on peut déjà  contourner le problème pour "attribué à" et "attribué à groupe".

mais cette deuxieme partie n'est pas à sa place dans les bugs plugins...


Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9

Offline

#4 2013-06-28 12:10:29

nicotontige
Member
Registered: 2011-06-15
Posts: 137

Re: FORM CREATOR : Type de ticket incompatible avec catégorie

Bonjour,

Je viens de publier une nouvelle version de formcreator qui permet de configurer le type de ticket pour chaque ticket cible.
Il ne faudra pas oublier de mettre à jour la base de données avec le fichier update.sql dans l'archive.

Pour le reste, avez-vous essayer avec des règles ?

Cordialement,

Last edited by nicotontige (2013-06-28 12:11:33)

Offline

#5 2013-06-28 15:54:10

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,243

Re: FORM CREATOR : Type de ticket incompatible avec catégorie

J'ai essayé une petite modif qui répond à mon besoin :
avec la catégorie et le type que vous venez d'ajouter, je récupère l'identifiant du  gabarit  associé à la catégorie. J'initialise les valeurs du ticket avec les valeurs prédéfinies du gabarit.
Du coup j'ai une cohérence entre les tickets créés par l'utilisateur à l'aide des formulaires, et ceux créés par le helpdesk à l'aide des gabarits.


Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9

Offline

#6 2013-07-01 09:57:13

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,243

Re: FORM CREATOR : Type de ticket incompatible avec catégorie

Bonjour,
en complément de votre réponse, j'ai effectivement essayé lès règles métier :
si la catégorie est "MonApplication" et type est "Demande"
alors observateur ="MonResponsable d'application"
attribue a groupe est ="Un Groupe"
cela fonctionne correctement.
il me manque juste le type (Logiciel)et l'élément associé(Mon Application) mais ça répond en grande partie à mon problème de notification de l'observateur (MonResponsableApplication) lors de la création de tickets par le "client".
Pour nos tickets créés par le helpdesk, c'est un peu plus déroutant car les règles s'appliquent au changement de statut nouveau->attribué et le rédacteur laisse les champs vides . mais ça marche, le ticket contient systématiquement les valeurs que j'attends.

Last edited by LaDenrée (2013-07-01 10:01:50)


Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9

Offline

#7 2013-07-12 13:57:14

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,243

Re: FORM CREATOR : Type de ticket incompatible avec catégorie

En complément de votre ajout  du type de ticket, il est desormais possible d'initialiser le ticket avec les valeurs prédéfinies du gabarit correspondant à la catégorie et qui ne sont pas définies dans le formulaire.

Bien sur, cette modif n'est compatible qu'avec les versions GLPI qui gèrent les gabarits.

je vous propose l'insertion du code ci dessous dans helpdesk.form.php  vers la ligne 156 après   

"$ticket['content'] = PluginFormcreatorQuestion::protectData($ticket['content']);"


//modif yt pour prendre en compte valeurs prédéfinies du gabarit**********;

                $query = "SELECT `tickettemplates_id_incident`,`tickettemplates_id_demand` FROM `glpi_itilcategories` WHERE ID= ".$ticket['itilcategories_id'];
                $res=$DB->query($query);
                $tickettemplates_id_demand=$DB->result($res, 0, "tickettemplates_id_demand");
                $tickettemplates_id_incident=$DB->result($res, 0, "tickettemplates_id_incident");
    switch ($target_value['type'])
        {
            case "1":
                // formulaire par defaut pour les incidents de la catégorie;
                $template_id = $tickettemplates_id_incident;

            break;
            case "2":
                // formulaire par defaut pour les demandes de la catégorie;
                $template_id = $tickettemplates_id_demand;

            break;
            default:
                  // sans précision le formulaire est indiqué par défaut;
                $template_id = "1";//formulaire par defaut;

            break;

        }
                
                   $tt = new TicketTemplate();            
                $tt->getFromDBWithDatas($template_id, true);
                $ttp = new TicketTemplatePredefinedField();
                     $predefined = $ttp->getPredefinedFields($template_id, true);
                     

                if (isset($predefined['itemtype'])) {
                            $ticket['itemtype'] = $predefined['itemtype'];
                           }
                     if (isset($predefined['items_id'])) {
                            $ticket['items_id'] = $predefined['items_id'];
                           }

                        if (isset($predefined['_users_id_observer'])) {
                            $ticket['_users_id_observer'] =$predefined['_users_id_observer'];
                           }
                        if (isset($predefined['_users_id_assign'])) {
                            $ticket['_users_id_assign'] =$predefined['_users_id_assign'];
                           }
                        if (isset($predefined['_users_id_requester'])) {
                            $ticket['_users_id_requester'] =$predefined['_users_id_requester'];
                           }
                        if (isset($predefined['_groups_id_requester'])) {
                            $ticket['_groups_id_requester'] =$predefined['_groups_id_requester'];
                           }
                        if (isset($predefined['suppliers_id_assign'])) {
                            $ticket['suppliers_id_assign'] =$predefined['suppliers_id_assign'];
                           }
                        if (isset($predefined['requesttypes_id'])) {
                            $ticket['requesttypes_id'] =$predefined['requesttypes_id'];
                           }

 // **********fin modif yt pour prendre en compte valeurs prédéfinies du gabarit**********;   

Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9

Offline

#8 2013-07-12 15:19:02

nicotontige
Member
Registered: 2011-06-15
Posts: 137

Re: FORM CREATOR : Type de ticket incompatible avec catégorie

Bonjour,

Merci de votre contribution.
Celle-ci sera incorporé dans la prochaine publication du plugin.

Cordialement,

Offline

Board footer

Powered by FluxBB