Ajout des appels aux triggers

This commit is contained in:
Laurent Destailleur 2005-04-24 02:05:53 +00:00
parent a87d9dfcc7
commit 32e51fff79

View File

@ -92,17 +92,22 @@ class Contrat
$sql .= " WHERE rowid = ".$this->id . " AND statut = 0"; $sql .= " WHERE rowid = ".$this->id . " AND statut = 0";
$result = $this->db->query($sql) ; $result = $this->db->query($sql) ;
if (!$result) if ($result)
{ {
dolibarr_print_error($this->db); return 1;
}
else
{
$this->error=$this->db->error();
return -1;
} }
} }
/** /**
* \brief Active une ligne detail d'un contat * \brief Active une ligne detail d'un contrat
* \param user objet User qui avtice le contrat * \param user Objet User qui avtice le contrat
* \param line_id id de la ligne de detail à activer * \param line_id Id de la ligne de detail à activer
* \param date date d'ouverture * \param date Date d'ouverture
*/ */
function active_line($user, $line_id, $date) function active_line($user, $line_id, $date)
{ {
@ -116,12 +121,17 @@ class Contrat
if ($result) if ($result)
{ {
// Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
$interface=new Interfaces($this->db);
$interface->run_triggers('CONTRACT_SERVICE_ACTIVATE',$this,$user,$lang,$conf);
// Fin appel triggers
return 0; return 0;
} }
else else
{ {
$this->error=$this->db->error();
print $sql;
return -1; return -1;
} }
} }
@ -130,30 +140,48 @@ class Contrat
/** /**
* \brief Cloture un contrat * \brief Cloture un contrat
* \param user objet User qui cloture * \param user Objet User qui cloture
* \param lang Environnement langue de l'utilisateur
* \param conf Environnement de configuration lors de l'opération
* *
*/ */
function cloture($user) function cloture($user,$lang='',$conf='')
{ {
$sql = "UPDATE ".MAIN_DB_PREFIX."contrat SET statut = 2"; $sql = "UPDATE ".MAIN_DB_PREFIX."contrat SET statut = 2";
$sql .= " , date_cloture = now(), fk_user_cloture = ".$user->id; $sql .= " , date_cloture = now(), fk_user_cloture = ".$user->id;
$sql .= " WHERE rowid = ".$this->id . " AND statut = 1"; $sql .= " WHERE rowid = ".$this->id . " AND statut = 1";
$result = $this->db->query($sql) ; $result = $this->db->query($sql) ;
// Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
$interface=new Interfaces($this->db);
$interface->run_triggers('CONTRACT_CLOSE',$this,$user,$lang,$conf);
// Fin appel triggers
return 1;
} }
/** /**
* \brief Annule un contrat * \brief Annule un contrat
* \param user objet User qui annule * \param user Objet User qui annule
* \param lang Environnement langue de l'utilisateur
* \param conf Environnement de configuration lors de l'opération
* *
*/ */
function annule($user) function annule($user,$lang='',$conf='')
{ {
$sql = "UPDATE ".MAIN_DB_PREFIX."contrat SET statut = 0"; $sql = "UPDATE ".MAIN_DB_PREFIX."contrat SET statut = 0";
$sql .= " , date_cloture = now(), fk_user_cloture = ".$user->id; $sql .= " , date_cloture = now(), fk_user_cloture = ".$user->id;
$sql .= " WHERE rowid = ".$this->id . " AND statut = 1"; $sql .= " WHERE rowid = ".$this->id . " AND statut = 1";
$result = $this->db->query($sql) ; $result = $this->db->query($sql) ;
// Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
$interface=new Interfaces($this->db);
$interface->run_triggers('CONTRACT_CANCEL',$this,$user,$lang,$conf);
// Fin appel triggers
} }
/** /**
@ -207,17 +235,25 @@ class Contrat
/** /**
* \brief Crée un contrat vierge * \brief Crée un contrat vierge
* \param user utilisateur qui crée * \param user Utilisateur qui crée
* \param lang Environnement langue de l'utilisateur
* \param conf Environnement de configuration lors de l'opération
*/ */
function create($user) function create($user,$lang='',$conf='')
{ {
$sql = "INSERT INTO ".MAIN_DB_PREFIX."contrat (datec, fk_soc, fk_user_author, fk_commercial_signature, fk_commercial_suivi, date_contrat)";
$sql = "INSERT INTO ".MAIN_DB_PREFIX."contrat (datec,fk_soc, fk_user_author, fk_commercial_signature, fk_commercial_suivi, date_contrat)";
$sql .= " VALUES (now(),".$this->soc_id.",".$user->id.",".$this->commercial_id.",".$this->commercial_id; $sql .= " VALUES (now(),".$this->soc_id.",".$user->id.",".$this->commercial_id.",".$this->commercial_id;
$sql .= ",".$this->db->idate($this->date_contrat) .")"; $sql .= ",".$this->db->idate($this->date_contrat) .")";
if ($this->db->query($sql)) if ($this->db->query($sql))
{ {
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."contrat"); $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."contrat");
// Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
$interface=new Interfaces($this->db);
$interface->run_triggers('CONTRACT_CREATE',$this,$user,$lang,$conf);
// Fin appel triggers
$result = 0 ; $result = 0 ;
} }
else else
@ -359,6 +395,7 @@ class Contrat
} }
} }
/** /**
* \brief Retourne le libellé du statut du contrat * \brief Retourne le libellé du statut du contrat
* \return string Libellé * \return string Libellé