Bonjour Arnaud,

La démarche du script n'est pas la bonne. Il vaudrait mieux faire un plugin !
Car un plugin peut intercepter les updates d'un ticket (=hook).
Et dans ces hooks le plugin peut détecter une modif sur un champ ou un autre.
Il peut modifier des champs à la volée ou faire d'autres choses sur ceux-ci.

Voir plugin Example : https://forge.indepnet.net/projects/example/files

A ta disposition pour plus d'infos sur les plugins.

Cordialement,

Olivier MORON
Miscellaneous Program Member

RAYNET SNC
Tel : +33 4 76 33 49 52
Fax: +33 4 76 70 56 63


From: Glpi-dev [mailto:glpi-dev-boun...@gna.org] On Behalf Of Arnaud Roudeau
Sent: Thursday, July 09, 2015 10:35 AM
To: glpi-dev@gna.org
Subject: [Glpi-dev] Recherche de la Fonction permettant de récupérer les 
actions effectuées par une règle métier ticket

Bonjour,

Besoin :
Je recherche la fonction permettant d'appliquer/récupérer les actions 
effectuées par une règle métier en fonction de certains critères

Explication :
Actuellement je suis sur une version 0.84.5 de GLPI sans possibilité de migrer 
sur une nouvelle version.
J'ai la problématique suivante, lors du cycle de vie des tickets support, 
régulièrement, ceux-ci sont recatégorisés par les techniciens, mais sur la 
0.84.5, le SLA et la due date associée à la catégorie n'est pas recalculé lors 
de cette action.
Actuellement je développe un script permettant de détecter cette modification 
et ainsi repositionner le SLA et recalculer la due date.

1.       Je détecte la modification de catégorie en parcourant les logs à la 
recherche de l'event  associé

2.       Je réapplique le SLA en appliquant la règle métier

3.       Je recalcule la due date en fonction du nouveau SLA positionner

Pour les points 1 et 3 j'ai trouvé les méthodes et fonctions nécessaires dans 
les classes GLPI, mais pour le point 2, j'ai recherché de long en large dans 
les class et form GLPI sans trouver de réelle piste.

Si quelqu'un sait quelle fonction ou connais une méthode pour réappliquer 
uniquement la règle relative au SLA a un ticket, je suis preneur :)

Par avance merci :)

Ci-dessous le code que j'utilise pour le recalcul de la due date si cela peut 
aider quelqu'un :
Le script doit se trouver dans un dossier placé dans le répertoire GLPI sinon 
cela ne fonctionne pas (personnellement un dossier nommé « recalsla » mit dans 
le dossier « inc »).
La fonction RecalDueDate est un dérivé de la fonction original de glpi 
getDatasToAddSLA

<?php

define('GLPI_ROOT', 'C:\WebServer\htdocs\glpi');
include (GLPI_ROOT . "/inc/includes.php");

// variable à récupérer dans la base via sql en temps normal
$sla = 8 ;
$entities = 1 ;
$datedeb = '2015-07-02 11:43:00' ;
$waitingTime = 0 ;


function RecalDueDate($slas_id, $entities_id, $date,$waitingTime)
      {
      $calendars_id = Entity::getUsedConfig('calendars_id', $entities_id);
      $data         = array();
      $sla = new SLA();
      if ($sla->getFromDB($slas_id))
              {
                  $sla->setTicketCalendar($calendars_id);
                  $data["slalevels_id"]         = 
SlaLevel::getFirstSlaLevel($slas_id);
                  $data['due_date']             = 
$sla->computeDueDate($date,$waitingTime);
              }
        else
              {
                    return False ;
              }
      return $data;

   }


// affichage de la due date
print_r(RecalDueDate($sla, $entities, $datedeb,$waitingTime)) ;

?>




Cordialement,


[http://consort-group.com/e-signature/images/logoCNT2.gif][http://consort-group.com/e-signature/images/AnimationCNT2.gif]

Arnaud ROUDEAU
arnaud.roud...@consortnt.fr<mailto:arnaud.roud...@consortnt.fr>

CONSORT FRANCE
34 rue Jean-Jaurès
92800 PUTEAUX CEDEX
www.consortnt.fr<http://www.consortnt.fr/>


Retrouvez Consort NT sur les réseaux sociaux :

[http://consort-group.com/e-signature/images/viadeo_logo.png] Viadeo : 
http://www.viadeo.com/groups/consortnt
[http://consort-group.com/e-signature/images/logo-facebook-16.png] Facebook : 
http://www.facebook.com/ConsortNT


[http://consort-group.com/e-signature/images/greenit.png]

Afin de contribuer au respect de l'environnement, n'imprimer ce courriel qu'en 
cas de nécessité.




_______________________________________________
Glpi-dev mailing list
Glpi-dev@gna.org
https://mail.gna.org/listinfo/glpi-dev

Reply via email to