From 94fee7af70314578ce689d9acbc0f69543b22619 Mon Sep 17 00:00:00 2001 From: Maxime Kohlhaas Date: Fri, 1 Aug 2014 08:59:08 +0200 Subject: [PATCH] Call trigger added in commonobjectline --- htdocs/core/class/commonobjectline.class.php | 28 ++++++++++++++++++++ htdocs/fichinter/class/fichinter.class.php | 3 ++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/htdocs/core/class/commonobjectline.class.php b/htdocs/core/class/commonobjectline.class.php index bb253d2eded..675e1cf0794 100644 --- a/htdocs/core/class/commonobjectline.class.php +++ b/htdocs/core/class/commonobjectline.class.php @@ -28,6 +28,34 @@ */ abstract class CommonObjectLine { + /** + * Call trigger based on this instance + * NB: Error from trigger are stacked in interface->errors + * NB2: If return code of triggers are < 0, action calling trigger should cancel all transaction. + * + * @param string $trigger_name trigger's name to execute + * @param User $user Object user + * @return int Result of run_triggers + */ + function call_trigger($trigger_name, $user) + { + global $langs,$conf; + include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; + $interface=new Interfaces($this->db); + $result=$interface->run_triggers($trigger_name,$this,$user,$langs,$conf); + if ($result < 0) + { + if (!empty($this->errors)) + { + $this->errors=array_merge($this->errors,$interface->errors); + } + else + { + $this->errors=$interface->errors; + } + } + return $result; + } } diff --git a/htdocs/fichinter/class/fichinter.class.php b/htdocs/fichinter/class/fichinter.class.php index 916f69d850b..930f9371522 100644 --- a/htdocs/fichinter/class/fichinter.class.php +++ b/htdocs/fichinter/class/fichinter.class.php @@ -24,6 +24,7 @@ * \brief Fichier de la classe des gestion des fiches interventions */ require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php'; +require_once DOL_DOCUMENT_ROOT .'/core/class/commonobjectline.class.php'; /** @@ -998,7 +999,7 @@ class Fichinter extends CommonObject /** * Classe permettant la gestion des lignes d'intervention */ -class FichinterLigne extends CommonObject +class FichinterLigne extends CommonObjectLine { var $db; var $error;