Line 8:
Line 8:
Donc, pour ajouter son propre code qui sera déclenché par trigger, la procédure est la suivante:
Donc, pour ajouter son propre code qui sera déclenché par trigger, la procédure est la suivante:
+
1) (uniquement pour Dolibarr >= v3.2.0) dans la configuration de votre module pour Dolibarr (ex: /core/modules/modMonModule.class.php), ajouter triggers->1 dans module_parts:
+
<source lang="php">
+
// Defined all module parts (triggers, login, substitutions, menus, etc...) (0=disable,1=enable)
+
$this->module_parts = array('triggers' => 1);
+
//$this->module_parts = array('triggers' => 1,
+
// 'login' => 0,
+
// 'substitutions' => 0,
+
// 'menus' => 0);
+
</source>
−
1) Copier le fichier '''htdocs/includes/triggers/interface_all_Demo.class.php''' sous le nom:
+
2) Copier le fichier '''htdocs/includes/triggers/interface_all_Demo.class.php''' sous le nom:
* '''interface_all_''Xxx''.class.php'''
* '''interface_all_''Xxx''.class.php'''
ou bien
ou bien
Line 28:
Line 37:
−
2) Editer ce fichier ''interface_modMonModule_Monworkflow.class.php'' afin de renommer la classe ''InterfaceDemo'' par ''InterfaceMonworkflow''
+
3) Editer ce fichier ''interface_modMonModule_Monworkflow.class.php'' afin de renommer la classe ''InterfaceDemo'' par ''InterfaceMonworkflow''
Line 35:
Line 44:
−
3) Revenez maintenant à l'édition du fichier trigger afin d'ajouter votre code dans la fonction ''run_trigger''.
+
4) Revenez maintenant à l'édition du fichier trigger afin d'ajouter votre code dans la fonction ''run_trigger''.
Cette fonction est appelée à chaque évènement Dolibarr. Placer votre code en fonction du ou des évènements sur lesquels vous voulez réagir, chaque évènement étant identifié par un code (voir chapitres suivant pour la liste des codes), on peut réagir ou non à un évènement donnée par un test sur la variable '''$action''':
Cette fonction est appelée à chaque évènement Dolibarr. Placer votre code en fonction du ou des évènements sur lesquels vous voulez réagir, chaque évènement étant identifié par un code (voir chapitres suivant pour la liste des codes), on peut réagir ou non à un évènement donnée par un test sur la variable '''$action''':
Line 68:
Line 77:
* '''$conf''' est l'objet qui contient toute la configuration de Dolibarr.
* '''$conf''' est l'objet qui contient toute la configuration de Dolibarr.
−
4) Une fois le code réalisé, il n'y a plus qu'à tester, en provoquant l'évènement déclencheur dans Dolibarr. Attention, l'appel au '''run_trigger''' et encapsuler dans un transaction. Si votre trigger renvoie un code ko, la fonction appelante peut annuler la transaction (ceci dépend de la fonction appelante).
+
5) Une fois le code réalisé, il n'y a plus qu'à tester, en provoquant l'évènement déclencheur dans Dolibarr. Attention, l'appel au '''run_trigger''' et encapsuler dans un transaction. Si votre trigger renvoie un code ko, la fonction appelante peut annuler la transaction (ceci dépend de la fonction appelante).
Ajouter des traces dans un fichier dans la fonction '''run_trigger''' afin de vous assurer que le code s'exécute bien. Vous pouvez pour cela si vous le désirer, utiliser la fonction
Ajouter des traces dans un fichier dans la fonction '''run_trigger''' afin de vous assurer que le code s'exécute bien. Vous pouvez pour cela si vous le désirer, utiliser la fonction
dol_syslog("mon texte de trace", LOG_DEBUG);
dol_syslog("mon texte de trace", LOG_DEBUG);