Option sur methodes pour ne pas activer les triggers

This commit is contained in:
Laurent Destailleur 2007-07-25 17:46:47 +00:00
parent ff861a24ea
commit 5c9606107c
4 changed files with 46 additions and 33 deletions

View File

@ -75,10 +75,11 @@ class ActionComm
/** /**
* \brief Ajout d'une action en base * \brief Ajout d'une action en base
* \param author auteur de la creation de l'action * \param author auteur de la creation de l'action
* \return int id de l'action créée, < 0 si erreur * \param notrigger 1 ne declenche pas les triggers, 0 sinon
* \return int id de l'action créée, < 0 si erreur
*/ */
function add($author) function add($author,$notrigger=0)
{ {
global $langs,$conf; global $langs,$conf;
@ -133,12 +134,15 @@ class ActionComm
{ {
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."actioncomm"); $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."actioncomm");
// Appel des triggers if (! $notrigger)
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php"); {
$interface=new Interfaces($this->db); // Appel des triggers
$result=$interface->run_triggers('ACTION_CREATE',$this,$author,$langs,$conf); include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
// Fin appel triggers $interface=new Interfaces($this->db);
$result=$interface->run_triggers('ACTION_CREATE',$this,$author,$langs,$conf);
// Fin appel triggers
}
$this->db->commit(); $this->db->commit();
return $this->id; return $this->id;
} }

View File

@ -2434,10 +2434,11 @@ class CommandeLigne
} }
/** /**
* \brief Insère l'objet ligne de commande en base * \brief Insère l'objet ligne de commande en base
* \return int <0 si ko, >0 si ok * \param notrigger 1 ne declenche pas les triggers, 0 sinon
* \return int <0 si ko, >0 si ok
*/ */
function insert() function insert($notrigger=0)
{ {
global $langs, $conf, $user; global $langs, $conf, $user;
@ -2505,12 +2506,15 @@ class CommandeLigne
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
if ($resql) if ($resql)
{ {
// Appel des triggers if (! $notrigger)
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php"); {
$interface=new Interfaces($this->db); // Appel des triggers
$result=$interface->run_triggers('LINEORDER_INSERT',$this,$user,$langs,$conf); include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
// Fin appel triggers $interface=new Interfaces($this->db);
$result=$interface->run_triggers('LINEORDER_INSERT',$this,$user,$langs,$conf);
// Fin appel triggers
}
$this->db->commit(); $this->db->commit();
return 1; return 1;
} }

View File

@ -123,11 +123,12 @@ class Facture extends CommonObject
} }
/** /**
\brief Création de la facture en base \brief Création de la facture en base
\param user Object utilisateur qui crée \param user Object utilisateur qui crée
\return int <0 si ko, >0 si ok \param notrigger 1 ne declenche pas les triggers, 0 sinon
\return int <0 si ko, >0 si ok
*/ */
function create($user) function create($user,$notrigger=0)
{ {
global $langs,$conf,$mysoc; global $langs,$conf,$mysoc;

View File

@ -646,10 +646,11 @@ class User
/** /**
* \brief Crée l'utilisateur en base * \brief Crée l'utilisateur en base
* \param user Objet user qui demande la creation * \param user Objet user qui demande la creation
* \return int <0 si KO, id compte créé si OK * \param notrigger 1 ne declenche pas les triggers, 0 sinon
* \return int <0 si KO, id compte créé si OK
*/ */
function create($user='') function create($user='',$notrigger=0)
{ {
global $conf,$langs; global $conf,$langs;
@ -700,13 +701,16 @@ class User
return -4; return -4;
} }
// Appel des triggers if (! $notrigger)
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php"); {
$interface = new Interfaces($this->db); // Appel des triggers
$result = $interface->run_triggers('USER_CREATE',$this,$user,$lang,$conf); include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
if ($result < 0) $error++; $interface = new Interfaces($this->db);
// Fin appel triggers $result = $interface->run_triggers('USER_CREATE',$this,$user,$lang,$conf);
if ($result < 0) $error++;
// Fin appel triggers
}
if (! $error) if (! $error)
{ {
$this->db->commit(); $this->db->commit();
@ -884,7 +888,7 @@ class User
/** /**
* \brief Mise à jour en base d'un utilisateur * \brief Mise à jour en base d'un utilisateur
* \param notrigger 1 si update durant le create, 0 sinon * \param notrigger 1 ne declenche pas les triggers, 0 sinon
* \return int <0 si KO, >=0 si OK * \return int <0 si KO, >=0 si OK
*/ */
function update($notrigger=0) function update($notrigger=0)