Interfaces Dolibarr toward foreign systems: Difference between revisions

Jump to navigation Jump to search
m
Line 142: Line 142:
= Manage new events =
= Manage new events =


Pour gérer d'autre évènements que ceux ci-dessus, il faut modifier le code Dolibarr pour y ajouter la séquence suivante dans les méthodes métiers des classes utilisées pour gérer les évenements:
To manage other events on objects than the one defined before, you mist edit the Dolibarr code to add the following code inside the business method of the class file of the object:


<source lang="php">
<source lang="php">
// Appel des triggers
// Call triggers
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
$interface=new Interfaces($this->db);
$interface=new Interfaces($this->db);
$interface->run_triggers('XXXXX_YYYYYY',$this,$user,$lang,$conf);
$interface->run_triggers('XXXXX_YYYYYY',$this,$user,$lang,$conf);
// Fin appel triggers
// End call triggers
</source>
</source>


Ici, $this doit être l'objet de la classe métier qui contient toutes les informations à passer au trigger. Remplacer, de plus, le 'XXXXX_YYYYYY' par un code évènement non déjà utilisé.
Here, $this contains the business class with all information to send to the trigger functions. Replace 'XXXXX_YYYYYY' by an event code not already used.
Il sera alors possible d'ajouter dans la méthode run_trigger, un if qui permet de gérer ce code. La méthode run_trigger serait alors de la forme :
Then you will be able to add inside the run_trigger method, a "if" to manage this code. The run_trigger method will contains a part of code like this :


<source lang="php">
<source lang="php">
function run_trigger($action,$object,$user,$lang,$conf)
function run_trigger($action,$object,$user,$lang,$conf)
{
{
       // Mettre ici le code à exécuter en réaction de l'action
       // Put here the code to execute
       // Le type de l'évènement Dolibarr est stocké dans $action
       // Type of Dolibarr business event is stored in $action
       // Les données de l'action sont stockées dans $object
       // Les données de l'action sont stockées dans $object
       // La configuration, utilisateur et langage sont dans $conf,$user et $lang
       // La configuration, utilisateur et langage sont dans $conf,$user et $lang

Navigation menu