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 2007-11-16 16:00:35

kitshoupi
Member
Registered: 2007-02-26
Posts: 73

Ajouter une date limite pour les interventions

Bonjour,

L’idée était d’avoir la possibilité :
-d’attribuer une date limite d’intervention pour certains tickets,
-de pouvoir modifier cette date à tous moment et
- de l’afficher également dans le corps des mails pour le suivi

Et ça y est .. Ça marche enfin ..

Comme j’ai eu pas mal de questions dernièrement de personnes intéressés par l’ajout d’une date Limite à leur tickets , j’en profite pour poster ici comment j’ai fait, j’espère que ça aidera certains wink

***
Pour commencer dans la base de données GLPI j’ai ajouté dans la table "glpi_tracking" un champ "Deadate" en suivant le modèle "date" et en mettant à valeur par défaut "0000-00-00 "au lieu de NULL

Pourquoi ? Tous simplement parsque je veux que si je ne met pas de date limite j’ai "0000-00-00" par défaut.

Ensuite dans « glpi\locales\fr_FR.php »  j’ajoute ceci :

$lang["common"][49]="Date Limite";

Pour l’affichage dans la console principale dans "Assistance--> Helpdesk" d’un champ supplémentaire permettant d'ajouter une date limite
Dans  glpi\inc\tracking.function.php dans la fonction addFormTracking je repère la partie du code qui est responsable de l’affichage de la date et comme je veux avoir en dessous de la date un autre champ « Date limite »  j’ajoute le code sivant:(en bleu)

if (haveRight("update_ticket","1")){
    echo "<tr class='tab_bg_2'><td align='center'>".$lang["common"][27].":</td>";
    echo "<td align='center' class='tab_bg_2'>";
    showCalendarForm("form_ticket","date",date("Y-m-d H:i"),0,1);   
    echo "</td>";

    echo "<td align='center'>".$lang["job"][44].":</td>";
    echo "<td align='center'>";
    $request_type=1;
    if (isset($_POST["request_type"])) $request_type=$_POST["request_type"];
    dropdownRequestType("request_type",$request_type);
    echo "</td></tr>";
    }

   
                //ajout  pour Date Limite dans la console glpi assistance--> Helpdesk

    if (haveRight("update_ticket","1")){
            echo "<tr  class='tab_bg_2'>";
            echo "<td align='center'>";
            echo $lang["common"][49].":</td>";
           echo "<td align='center' colspan='3'>";
         ShowCalendarForm("form_ticket","Deadate",date("00-00-00"),0,1);   
          echo "</td></tr>";
    }
    //fin ajout  pour date limite

Dans le même fichier et la même fonction, afin d'obtenir un champ "Date Limite" mais cette fois dans la partie "Assistance-->suivi" de la console GLPI
j'ajoute le code suivant (en bleu)

// Deuxième colonne
    echo "<td valign='top' width='33%'>";

    echo "<table border='0'>";

    echo "<tr><td align='right'>";
    echo $lang["job"][44].":</td><td>";
    if ($canupdate)
        dropdownRequestType("request_type",$job->fields["request_type"]);
    else
                echo getRequestTypeName($job->fields["request_type"]);
    echo "</td></tr>";
               

    //ajout  pour date limite dans la console partie suivi des tickets

    echo "<tr><td align='right'>";
    echo $lang["common"][49].":</td><td>";
    showCalendarForm("form_ticket","Deadate",convDateTime($job->fields["Deadate"]),0,1);
    echo "</td></tr>";
    // fin ajout pour date limite

Dans tracking.class.php dans la fonction "textDescription()" voici le code à ajouter:

if($format=="html"){
                        $filename = "E:/Program Files/OCS Inventory NG/xampp/htdocs/TEST/files/mail.tpl";
                        $handle = fopen ($filename, "r");
                        $message = fread ($handle, filesize ($filename));
                        fclose ($handle);

                        $message = ereg_replace("##title##",$lang["mailing"][5],$message);

                        $author=$this->getAuthorName();
                        if (empty($author)) $author=$lang["mailing"][108];
                        $message = ereg_replace("##author##",$author,$message);

                        $message = ereg_replace('##date##',convDateTime($this->fields["date"]),$message);

//ajout  pour date limite
$message = ereg_replace('##Deadate##',convDateTime($this->fields["Deadate"]),$message);
//fin ajout  pour date limite

                        $message = ereg_replace('##request##',getRequestTypeName($this->fields["request_type"]),$message);
                        $message = ereg_replace('##equipment##',$name,$message);
                        $message = ereg_replace('##status##',getStatusName($this->fields["status"]),$message);
                        $assign=getAssignName($this->fields["assign"],USER_TYPE);
                        if($assign=="[Nobody]")
                                $assign=$lang["mailing"][105];
                        $message = ereg_replace('##assign##',$assign,$message);
                        $message = ereg_replace('##priority##',getPriorityName($this->fields["priority"]),$message);
                        if ($this->fields["device_type"]!=SOFTWARE_TYPE)
                                $message = ereg_replace('##contact##',$contact,$message);

                        if ($this->fields["emailupdates"]=="yes"){
                                $message = ereg_replace('##emailupdate##',$lang["choice"][1],$message);
                        }else{
                                $message = ereg_replace('##emailuptade##',$lang["choice"][0],$message);
                        }

                        if (isset($this->fields["category"])&&$this->fields["category"]){
                                $message = ereg_replace('##category##',getDropdownName("glpi_dropdown_tracking_category",$this->fields["category"]),$message);
                        }else{
                                $message = ereg_replace('##category##',$lang["mailing"][100],$message);
                        }

                        $message = ereg_replace('##content##',nl2br($this->fields["contents"]),$message);

                }

Et pour finir, comme j’utilise un template pour personnaliser mes mails dans glpi\files\mail.tpl je modifie le corps du mail pour que je puisse avoir la date limite de chaque intervention en ajoutant ceci

<div class="boxcontent">
        <h1><u> Description du ticket </u> <br/></h1>
        <p>
                        Date début : ##date##<br />
            Date Limite : ##Deadate## <br/>
            Auteur : ##author##<br/>
                           attribué : ##assign##<br />
                        Priorité : ##priority##<br />
                        Contact : ##contact## <br />
                        Suivi par email : ##emailupdate## <br />
                        Catégorie : ##category##<br />
                        Contenu :
                <div id='contents'>##content##</div>
        </p>
</div>

Voilàa me concernant ça marche nickel smile

Cordialement

Last edited by kitshoupi (2007-11-19 10:01:50)


Configuration: Windows server 2003, XAMPP 1.5.5, Glpi 0.68.3, OCS NG 1.0.1, MySql 5.0.27
Postes Clients:
Windows xp, IE 6, Agent ocs 4.0.3.2

Offline

#2 2007-11-16 18:52:53

JMD
GLPI - Lead
Registered: 2004-09-13
Posts: 9,180
Website

Re: Ajouter une date limite pour les interventions

Merci du retour pour ceux que ça peut intérésser.

La question qui me titille, c'est à que faites vous concrètement de cette information de date limite ?
S'agit-il juste d'une politique d'affichage ? etc...

En fait j'aurai tendance à relier cette fonctionnalité avec la gestion des SLA.


JMD / Jean-Mathieu Doléans - Glpi-project.org - Association Indepnet
Apportez votre pierre au  projet GLPI   : Soutenir

Offline

#3 2007-11-19 10:03:38

kitshoupi
Member
Registered: 2007-02-26
Posts: 73

Re: Ajouter une date limite pour les interventions

Salut,

Je suis désolé mais je ne sais pas ce que c’est la gestion des SLA !? (En même temps je suis un apprenti et un apprenti est la pour apprendre ^^)

Concernant l’utilisation  de l’information de la date limite, c’est uniquement pour mieux organiser nos interventions
Mon responsable à remarquer que les techniciens n’ont pas forcement la même notion des priorités que lui ou que les utilisateurs ce qui est normal ! Donc pour mieux gérer nos planning une date imite pour les interventions aide beaucoup, si par exemple un utilisateur met dans son commentaire qui fait plus de 10lignes avant le « 24/12/2007 » le technicien pourrais zapper ce détail (c’est déjà arrivé sad ) donc l’affichage de la date limite dans la console et dans les tickets est plus sûr, disant que c’est plus parlant

Après je ne sais pas comment je pourrais exploiter cette information (je trouverai bien des idées)

Aplus


Configuration: Windows server 2003, XAMPP 1.5.5, Glpi 0.68.3, OCS NG 1.0.1, MySql 5.0.27
Postes Clients:
Windows xp, IE 6, Agent ocs 4.0.3.2

Offline

#4 2007-11-19 20:32:08

JMD
GLPI - Lead
Registered: 2004-09-13
Posts: 9,180
Website

Re: Ajouter une date limite pour les interventions

Le SLA (Service Level Agreement) est un contrat ou un accord entre un "client" (au sens large) et un service informatique.

Exemple : une imprimante qui tombe doit être réparée dans les 2 heures.

Etc...

Je vous invite à faire des recherches sur google avec des mots clés comme SLA et ITII , vous trouverez des explications plus complètes.


JMD / Jean-Mathieu Doléans - Glpi-project.org - Association Indepnet
Apportez votre pierre au  projet GLPI   : Soutenir

Offline

#5 2007-11-20 17:50:31

crazymr
Member
Registered: 2007-10-04
Posts: 27

Re: Ajouter une date limite pour les interventions

Merci, c'est exactement ce que je cherchais, je dois encore trouver comment l'ajouter dans la liste des suivis pour pouvoir faire un tri sur les dates limites et cela sera parfait.

Nous organisons également nos interventions sur base d'une date limite car nous n'avons pas (encore) de sla.

Merci pour l'information


W2K3
Xampp
OCS ver4100
GLPI 0.78.1

Offline

#6 2007-11-21 17:02:39

crazymr
Member
Registered: 2007-10-04
Posts: 27

Re: Ajouter une date limite pour les interventions

J'avais quelques problèmes au niveau des suivis, la date limite n'était pas affichée correctement et le résultat était des dates bizarre 1936 etc... j'ai donc du modifier le code de la manière suivante.  Ceci est peut-être du a une configuration différente chez moi mais je ne suis peut-être pas le seul.

Je me suis permis de reprendre une partie du post de kitshoupi, il était déjà bien détaillé.

Dans  glpi\inc\tracking.function.php dans la fonction addFormTracking
afin d'obtenir un champ "Date Limite" mais cette fois dans la partie "Assistance-->suivi" de la console GLPI on ajoute le code suivant (en bleu) mais j'ai supprimé la partie en rouge (le format de la date)

// Deuxième colonne
    echo "<td valign='top' width='33%'>";

    echo "<table border='0'>";

    echo "<tr><td align='right'>";
    echo $lang["job"][44].":</td><td>";
    if ($canupdate)
        dropdownRequestType("request_type",$job->fields["request_type"]);
    else
                echo getRequestTypeName($job->fields["request_type"]);
    echo "</td></tr>";
               

    //ajout  pour date limite dans la console partie suivi des tickets

    echo "<tr><td align='right'>";
    echo $lang["common"][49].":</td><td>";
    showCalendarForm("form_ticket","Deadate",
convDateTime($job->fields["Deadate"]),0,1);
    echo "</td></tr>";
    // fin ajout pour date limite

Idem dans le fichier tracking.class.php


//ajout  pour date limite
$message = ereg_replace('##Deadate##',
convDateTime($this->fields["Deadate"]),$message);
//fin ajout  pour date limite

Voilà j'espère avoir apporté une toute petite pierre à l'édifice.

jf

Last edited by crazymr (2007-11-21 17:06:35)


W2K3
Xampp
OCS ver4100
GLPI 0.78.1

Offline

#7 2007-11-21 18:07:36

crazymr
Member
Registered: 2007-10-04
Posts: 27

Re: Ajouter une date limite pour les interventions

J'ai ajouté les lignes suivantes dans le fichier tracking.function.php pour avoir la date limite dans la liste des tickets (suivi) et pouvoir faire un tri sur cette date limite.  Le code en bleu est ajouté.

J'ai d'abord ajouté une variable language pour le titre de la colonne "infos" et "date limite" dans le fichier fr_FR.php


$lang["common"][50]="Infos";
$lang["common"][49]="Date Limite";

puis j'ai modifié le fichier tracking.function.php pour ajouter les titres des colonnes

$items=array(
     $lang["joblist"][0]=>"glpi_tracking.status",
     $lang["common"][27]=>"glpi_tracking.date",
     $lang["joblist"][2]=>"glpi_tracking.priority",
     $lang["common"][37]=>"author.name",
     $lang["joblist"][4]=>"assign.name",
     $lang["common"][1]=>"glpi_tracking.device_type,glpi_tracking.computer",
     $lang["common"][36]=>"glpi_dropdown_tracking_category.completename",
     $lang["joblist"][6]=>"glpi_tracking.contents",

// section pour date limite
     $lang["common"][50]=>"",
     $lang["common"][49]=>"glpi_tracking.Deadate",
// fin section date limite
            );

Enfin toujours dans le même fichier j'ai ajouté une dixième colonne (toujours en bleu)

// Nineth column
$nineth_column="";
// Job Controls
if ($_SESSION["glpiprofile"]["interface"]=="central"){
    if (!haveRight("show_ticket","1")&&$job->fields["author"]!=$_SESSION["glpiID"]&&$job->fields["assign"]!=$_SESSION["glpiID"]&&(!haveRight("show_group_ticket",1)||!in_array($job->fields["FK_group"],$_SESSION["glpigroups"])))
        $nineth_column.="&nbsp;";
else
        $nineth_column.="<a href=\"".$cfg_glpi["root_doc"]."/front/tracking.form.php?ID=".$job->fields["ID"]."\"><strong>".$lang["joblist"][13]."</strong></a>&nbsp;(".$job->numberOfFollowups().")";
        }
else
        $nineth_column.="<a href=\"".$cfg_glpi["root_doc"]."/front/helpdesk.public.php?show=user&amp;ID=".$job->fields["ID"]."\">".$lang["joblist"][13]."</a>&nbsp;(".$job->numberOfFollowups(haveRight("show_full_ticket","1")).")";

echo displaySearchItem($output_type,$nineth_column,$item_num,$row_num,0,$align." width='40'");


// affichage dixieme colonne date limite dans assistance - suivi
// Tenth Column
$tenth_col=convDateTime($job->fields["Deadate"]);
echo displaySearchItem($output_type,$tenth_col,$item_num,$row_num,0,$align."width='100'");
// fin section affichage date limite dans assistance - suivi

Last edited by crazymr (2007-11-21 18:08:06)


W2K3
Xampp
OCS ver4100
GLPI 0.78.1

Offline

#8 2007-11-22 15:24:43

kitshoupi
Member
Registered: 2007-02-26
Posts: 73

Re: Ajouter une date limite pour les interventions

Salut,

Merci également pour ton retour , Je viens de le tester et ça marche smile

Cordialement


Configuration: Windows server 2003, XAMPP 1.5.5, Glpi 0.68.3, OCS NG 1.0.1, MySql 5.0.27
Postes Clients:
Windows xp, IE 6, Agent ocs 4.0.3.2

Offline

#9 2007-12-01 00:11:28

macgor
Member
From: Nouméa
Registered: 2007-11-07
Posts: 68

Re: Ajouter une date limite pour les interventions

Quelqu'un pour le mettre dans le WIKI (si ce n'est deja fait) ..

FAudra que je test ça, je me permet donc de m'inscrire sur ce post ^^


• GLPI version 9.5.6
• FusionInventory 9.5+3.0

Offline

#10 2008-01-24 19:15:13

crazymr
Member
Registered: 2007-10-04
Posts: 27

Re: Ajouter une date limite pour les interventions

Cette modification fonctionne également sur la 0.70.1


W2K3
Xampp
OCS ver4100
GLPI 0.78.1

Offline

#11 2008-02-12 19:06:30

rc
Member
Registered: 2008-01-31
Posts: 5

Re: Ajouter une date limite pour les interventions

Bonjour,
Merci au contributeur pour son code ..., nous allons tester cela.

Est-il envisageable (envisagé) que cet ajout qui m'apparait indispensable pour la gestion d'une équipe soit intégré à une version pour éviter les bidouillages toujours périlleux (nécessiter de tester à chaque version) ?

Merci

Offline

#12 2008-03-31 23:50:41

rc
Member
Registered: 2008-01-31
Posts: 5

Re: Ajouter une date limite pour les interventions

Notre demande a été intégrée au projet de gestion des SLA dont le concept est proche-quoique plus complexe, si cela vous est utile, n'hésitez pas à vous signaler : http://glpi-project.org/forum/viewtopic.php?id=10057

Ayant eu l'adaptation à faire à la version 0.70.2 je vous livre ma synthèse en espérant que cela serve, et en remerciant les prédécesseurs qui m'ont permis de le faire.

PS : je n'ai pas eu besoin de faire de modifications dans tracking.class.php, est-ce indispensable ?

-----------
Modifications à GLPI 0.70.2 pour intégrer les dates d'échéances :

1 – dans la base de données, avec phpmyadmin, ajouter un champ en fin de la base glpi_tracking
appeler ce champ Deadate, de type date, avec comme valeur par défaut 0000-00-00

2 - dans glpi/locales/fr_FR.php rechercher le dernier $lang[« common »] ajouter :
    $LANG["common"][64]="Info(s)";
    $LANG["common"][65]="Date Echeance";

3 – dans glpi/inc/tracking.function.php
3.1 – pour avoir le titre affiché, dans la function commonTrackingListHeader ajouter :
    // ajout date echeance
    $LANG["common"][64]=>"",
    $LANG["common"][65]=>"glpi_tracking.Deadate",
    // fin ajout date echeance
   après :
    $LANG["common"][57]=>"glpi_tracking.name",

3.2 – pour avoir la date limite dans le suivi, dans la function showJobDetails avant la ligne : // Finish Line , ajouter les lignes suivantes :
    // affichage dixieme colonne date echeance dans assistance - suivi
    // Tenth Column
    $tenth_col=convDateTime($job->fields["Deadate"]);
    echo displaySearchItem($output_type,$tenth_col,$item_num,$row_num,0,$align."width='100'");
    // fin section affichage date echeance dans assistance - suivi
   
3.3 – pour avoir la date dans le detail , ajouter les lignes suivantes dans la function addFormTracking avant la ligne : // Need comment right to add a followup with the realtime
       
    if (haveRight("update_ticket","1")){
        echo "<tr class='tab_bg_2'>";
        echo "<td align='center'>";
        echo $LANG["common"][65].":</td>";
        echo "<td align='center' colspan='3'>";
        showCalendarForm("form_ticket","Deadate",date("Y-m-d H:i"),0,1);   
        echo "</td></tr>";
    }

3.4 – ajouter les lignes suivantes dans la function showJobDetails :
   
    //ajout date echeance dans la console partie suivi des tickets
    echo "<tr><td align='right'>";
    echo $LANG["common"][65].":</td><td>";
    showCalendarForm("form_ticket","Deadate",Date($job->fields["Deadate"]),0,1);
    echo "</td></tr>";
    // fin ajout date echeance

après le paragraphe :
    echo $LANG["job"][44].":</td><td>";
    if ($canupdate)
        dropdownRequestType("request_type",$job->fields["request_type"]);
    else echo getRequestTypeName($job->fields["request_type"]);
    echo "</td></tr>";

Offline

#13 2008-04-11 16:13:52

lyonel
Member
From: rennes
Registered: 2007-03-28
Posts: 127

Re: Ajouter une date limite pour les interventions

yes, alors ca c'est top comme rajout.

ca va permettre de trier d'une autre maniere.

par contre j'ai pas de titre a ma 10eme colonne donc tri impossible et je vois pas ou ca ne va pas; le code est bon chez moi


VM Linux
GLPI 10.x

Offline

#14 2009-03-18 17:56:58

yannick94
Member
Registered: 2008-09-05
Posts: 1

Re: Ajouter une date limite pour les interventions

Bonjour,

Est ce que cela fonctionne encore pour les version 0.71?
J'ai quelque difficulté pour le mettre en place.

Offline

Board footer

Powered by FluxBB