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,45 +121,68 @@ class Contrat
if ($result) if ($result)
{ {
return 0; // 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;
} }
else else
{ {
$this->error=$this->db->error();
print $sql; return -1;
return -1;
} }
} }
/** /**
* \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) *
{ */
$sql = "UPDATE ".MAIN_DB_PREFIX."contrat SET statut = 2"; function cloture($user,$lang='',$conf='')
$sql .= " , date_cloture = now(), fk_user_cloture = ".$user->id; {
$sql .= " WHERE rowid = ".$this->id . " AND statut = 1"; $sql = "UPDATE ".MAIN_DB_PREFIX."contrat SET statut = 2";
$sql .= " , date_cloture = now(), fk_user_cloture = ".$user->id;
$sql .= " WHERE rowid = ".$this->id . " AND statut = 1";
$result = $this->db->query($sql) ; $result = $this->db->query($sql) ;
}
/** // Appel des triggers
* \brief Annule un contrat include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
* \param user objet User qui annule $interface=new Interfaces($this->db);
* $interface->run_triggers('CONTRACT_CLOSE',$this,$user,$lang,$conf);
*/ // Fin appel triggers
function annule($user)
{
$sql = "UPDATE ".MAIN_DB_PREFIX."contrat SET statut = 0";
$sql .= " , date_cloture = now(), fk_user_cloture = ".$user->id;
$sql .= " WHERE rowid = ".$this->id . " AND statut = 1";
$result = $this->db->query($sql) ; return 1;
} }
/**
* \brief Annule un contrat
* \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,$lang='',$conf='')
{
$sql = "UPDATE ".MAIN_DB_PREFIX."contrat SET statut = 0";
$sql .= " , date_cloture = now(), fk_user_cloture = ".$user->id;
$sql .= " WHERE rowid = ".$this->id . " AND statut = 1";
$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
}
/** /**
* \brief Charge de la base les données du contrat * \brief Charge de la base les données du contrat
@ -207,27 +235,35 @@ 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 .= " VALUES (now(),".$this->soc_id.",".$user->id.",".$this->commercial_id.",".$this->commercial_id;
$sql .= ",".$this->db->idate($this->date_contrat) .")";
if ($this->db->query($sql))
{
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."contrat");
$sql = "INSERT INTO ".MAIN_DB_PREFIX."contrat (datec,fk_soc, fk_user_author, fk_commercial_signature, fk_commercial_suivi, date_contrat)"; // Appel des triggers
$sql .= " VALUES (now(),".$this->soc_id.",".$user->id.",".$this->commercial_id.",".$this->commercial_id; include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
$sql .= ",".$this->db->idate($this->date_contrat) .")"; $interface=new Interfaces($this->db);
if ($this->db->query($sql)) $interface->run_triggers('CONTRACT_CREATE',$this,$user,$lang,$conf);
{ // Fin appel triggers
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."contrat");
$result = 0 ;
}
else
{
$result = 1;
dolibarr_syslog("Contrat::create - 10");
dolibarr_print_error($this->db,"Contrat::create - 10");
}
return $result; $result = 0 ;
}
else
{
$result = 1;
dolibarr_syslog("Contrat::create - 10");
dolibarr_print_error($this->db,"Contrat::create - 10");
}
return $result;
} }
@ -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é