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