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 2017-01-18 12:14:22

stockart
Member
From: Bruxelles
Registered: 2011-07-19
Posts: 19

[9.1.1] Catégories de tickets

Bonjour,


je reçois un

6e954872e41be3635a5f0957bec49e91949db5c9.png

à la sélection d'une catégorie lors de la création d'un ticket .


Ca ne se produit que si je crée le ticket en passant par

> Administration 
     > Utilisateurs 
          > (Sélection d'un utilisateur) 
               > Tickets créés 
                    > Nouveau ticket pour cet élément.

Le message d'erreur apparait juste après la sélection d'une catégorie.



Je n'ai pas le problème quand je crée un ticket via

> Assistance 
     > Créer un ticket

Auriez-vous une idée du problème ?

merci smile

Offline

#2 2017-01-18 16:10:07

stockart
Member
From: Bruxelles
Registered: 2011-07-19
Posts: 19

Re: [9.1.1] Catégories de tickets

J'ai résolu le bug en changeant dans /inc/ticket.class.php à la ligne 5283 (version 9.1.1)

_add_fromitem en _add_fromuser.

Je ne sais pas si c'est la bonne solution ni où remonter le problème.

Offline

#3 2017-01-23 18:45:23

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,278

Re: [9.1.1] Catégories de tickets


CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6  - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#4 2017-01-23 19:11:54

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,278

Re: [9.1.1] Catégories de tickets

stockart wrote:

J'ai résolu le bug en changeant dans /inc/ticket.class.php à la ligne 5283 (version 9.1.1)

_add_fromitem en _add_fromuser.

Je ne sais pas si c'est la bonne solution ni où remonter le problème.


La valeur reçue par ticket.form est bien _add_fromitem.

Le mieux est de controler la présence des champs avant de jouer avec (https://github.com/glpi-project/glpi/issues/1644)


CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6  - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#5 2017-01-23 19:58:44

stockart
Member
From: Bruxelles
Registered: 2011-07-19
Posts: 19

Re: [9.1.1] Catégories de tickets

C'est juste mais c'est parce que ticket.class.php n'envoie pas la bonne information à ticket.form.php.


Quand ticket.form.php reçoit _add_fromitem, il s'attend à ce qu'on vienne d'un ITEM (dans le sens ordinateur, écran...) et il demande donc les infos sur l'ITEM (itemtype et items_id). Ces infos sont bien fournies par ticket.class.php (ligne 5249) quand on vient d'un ITEM.

if ($item->getID()
    && Ticket::isPossibleToAssignType($item->getType())
    && self::canCreate()) {
   Html::showSimpleForm($CFG_GLPI["root_doc"]."/front/ticket.form.php",
                        '_add_fromitem', __('New ticket for this item...'),
                        array('itemtype' => $item->getType(),
                              'items_id' => $item->getID()));
}

Quand on vient d'un USER ($item->getType() == 'User'), il n'y a aucune raison de faire croire à ticket.form.php qu'on vient d'un ITEM pour ensuite constater que ça n'en est pas un.


ticket.class.php:5278

if ($item->getID()
    && ($item->getType() == 'User')
    && self::canCreate()) {
   echo "<tr><td class='tab_bg_2 center b' colspan='$colspan'>";
   Html::showSimpleForm($CFG_GLPI["root_doc"]."/front/ticket.form.php",
                        '_add_fromitem', __('New ticket for this item...'),
                        array('_users_id_requester' => $item->getID()));
   echo "</td></tr>";
}

Il envoie "_add_fromitem" alors qu'il ne s'agit pas d'un ITEM mais d'un USER (et il n'y a donc logiquement pas de itemtype ni de items_id).

Pour éviter le problème dans ticket.form.php, il suffit donc de ne pas lui envoyer _add_fromitem.

_add_fromuser me paraissait approprié mais je ne sais pas si une autre variable existe déjà pour ça.



Pour moi, ajouter un contrôle dans ticket.form.php ne ferait que masquer le problème wink


edit: ceci dit, c'est pas mal d'aussi de controler les variables avant des les utiliser smile

Last edited by stockart (2017-01-24 11:37:59)

Offline

#6 2017-01-25 15:50:15

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,278

Re: [9.1.1] Catégories de tickets

Là ce n'est pas une erreur mais un PHP notice, donc n'ayant aucune incidence sur le fonctionnement.
Il suffit donc de contrôler les valeurs avant leur utilisation.

De plus ITEM est un élément associé au ticket, donc cela peut être également un USER


CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6  - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#7 2017-01-25 16:37:12

stockart
Member
From: Bruxelles
Registered: 2011-07-19
Posts: 19

Re: [9.1.1] Catégories de tickets

Je reçois un "L'action que vous avez réalisées n'est pas autorisée", donc pas ça impacte bien le fonctionnement dans mon cas wink


Ce que je voulais dire c'est que les items de type "USER" ne se comportent manifestement pas de la même façon que les items de type "ITEM". Du coup je pensais que ça aurait été pas mal de pouvoir les différencier.

Mais bon, c'est juste l'avis d'un glpi-noob wink

Offline

#8 2017-01-25 17:33:02

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,278

Re: [9.1.1] Catégories de tickets

Moi je viens de refaire un test et avec la modification apportée https://github.com/glpi-project/glpi/issues/1644, je n'ai plus d'erreur à la sélection d'une catégorie.


CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6  - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

Board footer

Powered by FluxBB