You are not logged in.
Ref post prec : http://www.glpi-project.org/forum/viewt … p?id=12993
Bonjour,
Suite à mon message sur le forum concernant le vol de ticket,
je repose le problème :
je suis un technicien qui peut avoir un ticket mais je n'ai pas le droit de les volers, ou de les assigner à d'autres
par contre s'il le ticket n'est pas encore attribuer j'ai le droit de me l'attribuer.
je tiens a apporter un petit erratum :
Dans le fichier tracking.class.php aux alentours de la ligne 120
il y a un test juste avant l'update qui réinitialise la variable input["assign"]
quand je n'ai pas le droit de voler un ticket ou que l'id d'update n'est pas mon ID
Dans mon cas ce test foire (forcément je ne suis pas un voleur)
if (!haveRight("steal_ticket","1")||$input["assign"]!=$_SESSION["glpiID"]){
unset($input["assign"]);
}
donc j'ai du modifier le code pour prendre en compte ce cas :
je résous le soucis comme suis :
Je fait unset si je n'ai pas le droit de voler ou si mon id est pas bon
si (le droit d'avoir un ticket et le vieux assign du ticket était = 0 (nobody)) est faux (seul cas qui m'interresse)
Ligne 120 de tracking.class.php
if (!haveRight("steal_ticket","1")||$input["assign"]!=$_SESSION["glpiID"]){
//MODIF NG pour prendre un ticket non attribuer quand on peut en avoir un
if(!(haveRight("own_ticket","1")&&$input["assign_old"]==0)){
unset($input["assign"]);
}
}
comme je compare avec un old_assign j'ai rajouté un input hidden dans le form du tracking.
Fichier /inc/tracking.function.php ligne 1953 ou pas loin
}else if (haveRight("own_ticket","1") && $job->fields["assign"]==0){
echo "<tr><td class='right'>";
echo $LANG["job"][6].":</td><td>";
dropdownUsers("assign",$job->fields["assign"],"ID",0,1,$job->fields["FK_entities"]);
//MODIF NG VALEUR OLD de ASSIGN
echo "<input type='hidden' name='assign_old' value=\"".$job->fields["assign"]."\">";
echo "</td></tr>";
}else{
Voilà,
désolé quand j'ai fait mes test je n'avais pas retouché au profil des mes techniciens, ou rechargé mon profil de session, je devais avoir la tête dans le sceau ...
voilà maintenant ça marche ...
Last edited by ngros (2009-01-12 16:25:51)
Offline
hum pas besoin du old_assign.
$this->fields['assign'] doit contenir cette donnée après récupération du ticket.
Il faut qu'on regarde ca effectivement.
MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI : Support Contribute References Freshmeat
Offline
la correction proposée.
MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI : Support Contribute References Freshmeat
Offline
A voir ça à l'air pas mal du tout ..
je ne pourrais pas testé sur ma version prod .. lundi j'inaugure ...
par contre sur ma version test se sera possible d'ici milieu de semaine.
En tout cas, je m'excuse MoYo promis la prochaine fois j'aurais mieux testé ..
J'apprends le code de GLPI petit à petit et c'est pas une mince affaire
Par contre lundi GLPI sera officiellement Gestionnaire de Parc et de ticket pour les bibliothèques de LYON.
a voir le retour utilisateur et on pourra sabrer le champagne
A+
Offline
A Lyon j'aurai plutot sabré un cru du Beaujolais : un bon Brouilly
JMD / Jean-Mathieu Doléans - Glpi-project.org - Association Indepnet
Apportez votre pierre au projet GLPI : Soutenir
Offline
En tout cas, je m'excuse MoYo promis la prochaine fois j'aurais mieux testé ..
merci pour le retour surtout
MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI : Support Contribute References Freshmeat
Offline
mais c'est qu'il y aurait des connaisseurs sur GLPI
et pour le retour c'est la moindre des choses ..
peut-être que je transmettrais un plugin si j'ai le courage de nettoyer le code que j'ai écrit
A+ et à bientôt
Offline
oui du beaujolais
Bon c'est vrai que j'habite à VilleFranche sur Saône alors le beaujolais, ça transite pas mal ici.
Cool pour les bibliothèques de Lyon
Last edited by ddurieux (2009-01-17 23:01:33)
Offline
un petit bug raté pour la route concernant ce vol de ticket :
dans le tracking.function.php, la fonction qui gère l'affichage du helpdesk, sous les priorités, il y a la possibilité d'attribuer à la création un ticket à quelqu'un. Et forcément il y a un test que j'avais oublié de vérifier (y'en a tellement en même temps ... )
rappel du sujet: une personne peut avoir un ticket à elle sans pour autant pouvoir voler ceux des autres ou leur attribuer un ticket.
bref la version d'origne.
ligne 818
if (haveRight("assign_ticket","1")||haveRight("steal_ticket","1")){
La version corrigé
ligne 818
if (haveRight("assign_ticket","1")||haveRight("steal_ticket","1")||haveRight("own_ticket","1")){
Voilà, c'est pas grand chose mais ç'est un poil plus convivial à l'utilisation.
A+
Last edited by ngros (2009-02-02 13:39:09)
Offline
heu il manque une autre modif non ?
car la condition changée ca n'affiche aucun dropdown ?
MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI : Support Contribute References Freshmeat
Offline
peut-être la ligne 828
} else if (haveRight("steal_ticket","1") || haveRight("own_ticket","1")) {
Je te mets le code du bloc j'ai peut être effectué une modif sur le code initiale que je n'aurais pas commentée ...
La version du fichier est @version $Id: tracking.function.php 7080 2008-07-14 13:42:29Z moyo
/*Modif NG autorisation pour attribution de ticket sans vol*/
if (haveRight("assign_ticket","1")||haveRight("steal_ticket","1")||haveRight("own_ticket","1")){
echo "<tr class='tab_bg_2' align='center'><td>".$LANG["buttons"][3].":</td>";
echo "<td colspan='3'>";
if (haveRight("assign_ticket","1")){
echo $LANG["job"][6].": ";
dropdownUsers("assign",$assign,"own_ticket",0,1,$_SESSION["glpiactive_entity"]);
echo "<br>".$LANG["common"][35].": ";
dropdownValue("glpi_groups", "assign_group", $assign_group,1,$_SESSION["glpiactive_entity"]);
} else if (haveRight("steal_ticket","1") || haveRight("own_ticket","1")) {
echo $LANG["job"][6].": ";
dropdownUsers("assign",$assign,"ID",0,1,$_SESSION["glpiactive_entity"]);
}
echo "</td></tr>";
}
tiens moi au jus que je rajoute le commentaire dans mon code;)
Offline
ca me plait mieux en tout cas
MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI : Support Contribute References Freshmeat
Offline
MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI : Support Contribute References Freshmeat
Offline
ca me plait mieux en tout cas
hoooooo et voilà on lui met des parenthèses et des crochets et MOSSIEU prend ses grands airs ..
j'ai donc du glisser une modif sans commenter ... je vois bien la ligne 828 ..
A+
HS : en parlant modif : on m'en a demandé une concernant l'ajout d'une loc sur les tickets,
si ça interresse j'ai les bouts de code à rajouter un peu partout ainsi qu'une modif dans une table ...
Last edited by ngros (2009-02-03 15:09:41)
Offline
Un lock c'est à dire ? Vous pouvez expliciter
notamment le besoin fonctionnel auquel cela répond ?
JMD / Jean-Mathieu Doléans - Glpi-project.org - Association Indepnet
Apportez votre pierre au projet GLPI : Soutenir
Offline
une localisation sur les ticket :
besoin :
nous gérons plusieurs annexes géographiquement distinct, les utilisateurs sont volant ou poste fixe, et n'ont pas forcément le réflexe de prendre le numéro d'inventaire de la machine en panne. Le réflexe de copier le numéro d'inventaire du matériel en panne n'est pas du tout fiable car souvent absent ou erroné (je passe sur les détails ...).
Réponse :
Avec la localisation nous pouvons de suite prendre contact avec la personne sur le lieu de l'incident et organiser des vagues de prise en charge de ticket par lieu.
Par exemple, changement d'écran défectueux à loc1
Mise à jour anti-virus des postes de loc2
éventuellement par la suite faire des stats par loc, pour dire :
tiens à loc1 souvent des pannes de réseaux, saute de courant, problème anti-virus ect ...
de plus, nous avons deux lexiques un localisation interne au service pour le placement du matériel de façon précise : Genre Batiment A 2è étage bureau 215 près de la fenêtre avec les fleurs
Et l'autre pour les utilisateurs : Batiment A
voilà,
Offline