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