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
* \param author auteur de la creation de l'action
* \return int id de l'action créée, < 0 si erreur
* \param author auteur de la creation de l'action
* \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;
@ -133,12 +134,15 @@ class ActionComm
{
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."actioncomm");
// Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('ACTION_CREATE',$this,$author,$langs,$conf);
// Fin appel triggers
if (! $notrigger)
{
// Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('ACTION_CREATE',$this,$author,$langs,$conf);
// Fin appel triggers
}
$this->db->commit();
return $this->id;
}

View File

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

View File

@ -123,11 +123,12 @@ class Facture extends CommonObject
}
/**
\brief Création de la facture en base
\param user Object utilisateur qui crée
\return int <0 si ko, >0 si ok
\brief Création de la facture en base
\param user Object utilisateur qui crée
\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;

View File

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