Bonjour,

Il me semble incohérent de modifier le coeur pour faire référence à quelquechose qui n'est pas inclus dans celui-ci.
C'est le même principe pour tous les plugins.

Pour répondre à cette problèmatique c'est le moteur de règle qu'il faudrait modifier pour permettre au plugins d'intéragir de manière plus poussée avec lui. Ce qui n'est pas vraiment chose aisée.

Cordialement

Julien


Le 15/11/2010 10:59, philippe GODOT a écrit :
Bonjour,

Je souhaite savoir comment il est possible d'ajouter une nouvelle action dans les règles métiers de glpi. Je suis en train de porter un plugin que j'avais développé de la version 0.72 à la version 0.78. Ce plugin permet de relié un ticket à un catalogue de service. Un catalogue de service est définie par plusieurs informations dont une durée théorique de résolution. Actuellement, la majeure partie du plugin a été portée sous 0.78 et fonctionne bien. Tout est effectué dans le plugin sans aucune modification de fichiers du coeur. Il me faut maintenant permettre à un administrateur d'ajouter une règle métier disant par exemple : Si la catégorie du ticket est "macategorie" alors affecter à ce ticket le catalogue de service "moncataloguedeservice" via une table "glpi_plugin"gestioncatalogueservices_2tickets".
Dans la version 0.72, j'avais procédé ainsi :

fichier inc/rules.constant.php :
line 221, ajout des lignes :
$RULES_ACTIONS[RULE_TRACKING_AUTO_ACTION]['catalogueservice']['name']=$LANG['common'][89]; $RULES_ACTIONS[RULE_TRACKING_AUTO_ACTION]['catalogueservice']['type']='dropdown'; $RULES_ACTIONS[RULE_TRACKING_AUTO_ACTION]['catalogueservice']['table']='glpi_plugin_gestion_catalogue_services';

fichier inc/rulesengine.class.php
line 1319, ajout des lignes :
if(array_key_exists("sla",$hook_params["output"]))
                                {
                                        global $DB;
include_once GLPI_ROOT."/plugins/gestionCatalogueServices/inc/plugin_gestionCatalogueServices.classes.php"; $ID_CATALOGUESERVICE = $hook_params["output"]["catalogueservice"]; $date_ticket = $hook_params["output"]["date"]; $query = "SELECT MAX(ID) AS LASTID FROM glpi_tracking";
                                        $result = $DB->query($query);
                                        $row = $DB->fetch_assoc($result);
                                        $lastid = $row['LASTID'];
                                        $lastid++;
$catalogueservices = new plugin_gestionCatalogueServices(); $donnees = array("ID"=>$lastid,"catalogueservices_id"=>$ID_CATALOGUESERVICE,"date_ticket"=>$date_ticket); $catalogueservices->addorupdateCatalogueServices2Tickets($donnees);
                                }

Aujourd'hui, je souhaite réaliser la même opération et si possible depuis le plugin, sans toucher aux fichiers du coeur comme pour la version 0.72. est ce possible de faire la même chose via le plugin et le fichier Hook par exemple ?
Si vous avez besoin de plus de précision, n'hésitez pas.

PhilG


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


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

Reply via email to