Système de Triggers: Difference between revisions

Jump to navigation Jump to search
m
Suite modification nom de la méthode.
m (Modifiation du nom de la fonction runTrigger, qui était erronée.)
m (Suite modification nom de la méthode.)
Line 56: Line 56:




3) Revenez maintenant à l'édition du fichier trigger afin d'ajouter votre code dans la fonction ''run_trigger''.
3) Revenez maintenant à l'édition du fichier trigger afin d'ajouter votre code dans la fonction ''runTrigger''.
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é 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é par un test sur la variable '''$action''':


Line 79: Line 79:
</source>
</source>


Vous pouvez faire ce que vous voulez dans cette portion de code du moment que la fonction runtrigger renvoie un code retour sur le principe suivant:
Vous pouvez faire ce que vous voulez dans cette portion de code du moment que la fonction runTrigger renvoie un code retour sur le principe suivant:


<0 si ko, 0 si aucune action faite, >0 si ok
<0 si ko, 0 si aucune action faite, >0 si ok
Line 91: Line 91:




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 '''runtrigger''' 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).
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 '''runTrigger''' 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 '''runTrigger''' 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);


Line 118: Line 118:
</source>
</source>


Il sera alors possible d'ajouter dans la méthode runTrigger de tout fichier trigger, un if qui permet de gérer ce code. La méthode run_trigger serait alors de la forme :
Il sera alors possible d'ajouter dans la méthode runTrigger de tout fichier trigger, un if qui permet de gérer ce code. La méthode runTrigger serait alors de la forme :


<source lang="php">
<source lang="php">

Navigation menu