Le code d'interfacage avec webcal est mis dans le trigger webcal.

This commit is contained in:
Laurent Destailleur 2005-09-09 21:24:13 +00:00
parent 2b6438acef
commit 23e83aa0b1
3 changed files with 58 additions and 74 deletions

View File

@ -68,14 +68,13 @@ class ActionComm
} }
/** /**
* \brief Ajout d'une action en base (et eventuellement dans webcalendar) * \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
* \param webcal ressource webcalendar: 0=on oublie webcal, 1=on ajoute une entrée générique dans webcal, objet=ajout de l'objet dans webcal
* \return int id de l'action créée, < 0 si erreur * \return int id de l'action créée, < 0 si erreur
*/ */
function add($author, $webcal=0) function add($author)
{ {
global $conf; global $langs,$conf;
dolibarr_syslog("ActionComm::add"); dolibarr_syslog("ActionComm::add");
@ -98,30 +97,11 @@ class ActionComm
{ {
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."actioncomm"); $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."actioncomm");
if ($conf->webcal->enabled) { // Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
// Appel a webcal $interface=new Interfaces($this->db);
dolibarr_syslog("ActionComm::ajout entree dans webcal"); $interface->run_triggers('ACTION_CREATE',$this,$author,$langs,$conf);
// Fin appel triggers
// Si webcal demandé et non défini en tant qu'objet, on le construit
if (! is_object($webcal) && $webcal == 1)
{
$webcal=new ActionComm($this->db);
$webcal->date=$this->date;
$webcal->duree=0;
$webcal->texte=$this->societe;
$webcal->desc="Action ".$this->type_code."\n".$this->note;
}
// Ajoute entrée dans webcal
if (is_object($webcal))
{
$result=$webcal->add($author,$webcal->date,$webcal->texte,$webcal->desc);
if ($result < 0) {
$this->error="Echec insertion dans webcal: ".$webcal->error;
}
}
}
return $this->id; return $this->id;
} }

View File

@ -32,7 +32,7 @@
/** /**
\class interface_demo \class InterfaceDemo
\brief Classe des fonctions triggers des actions personalisées du workflow \brief Classe des fonctions triggers des actions personalisées du workflow
*/ */
@ -42,7 +42,7 @@ class InterfaceDemo
/** /**
* \brief Constructeur. * \brief Constructeur.
* \param DB handler d'accès base * \param DB Handler d'accès base
*/ */
function InterfaceDemo($DB) function InterfaceDemo($DB)
{ {
@ -95,8 +95,9 @@ class InterfaceDemo
* \param user Objet user * \param user Objet user
* \param lang Objet lang * \param lang Objet lang
* \param conf Objet conf * \param conf Objet conf
* \return int <0 si ko, 0 si aucune action faite, >0 si ok
*/ */
function run_trigger($action,$object,$user,$lang,$conf) function run_trigger($action,$object,$user,$langs,$conf)
{ {
// Mettre ici le code à exécuter en réaction de l'action // Mettre ici le code à exécuter en réaction de l'action
// Les données de l'action sont stockées dans $object // Les données de l'action sont stockées dans $object
@ -188,7 +189,9 @@ class InterfaceDemo
else else
{ {
dolibarr_syslog("Trigger '".$this->name."' for action '$action' was ran but no handler found for this action."); dolibarr_syslog("Trigger '".$this->name."' for action '$action' was ran but no handler found for this action.");
return -1;
} }
return 0;
} }
} }

View File

@ -35,7 +35,7 @@ include_once(DOL_DOCUMENT_ROOT.'/lib/webcal.class.php');
/** /**
\class InterfaceWebCal \class InterfaceWebCal
\brief Classe des fonctions triggers des actions personalisées du workflow \brief Classe des fonctions triggers des actions webcalendar
*/ */
class InterfaceWebCal class InterfaceWebCal
@ -46,7 +46,7 @@ class InterfaceWebCal
/** /**
* \brief Constructeur. * \brief Constructeur.
* \param DB handler d'accès base * \param DB Handler d'accès base
*/ */
function InterfaceWebCal($DB) function InterfaceWebCal($DB)
{ {
@ -99,7 +99,7 @@ class InterfaceWebCal
* \param user Objet user * \param user Objet user
* \param lang Objet lang * \param lang Objet lang
* \param conf Objet conf * \param conf Objet conf
* \return int <0 si ko, >0 si ok * \return int <0 si ko, 0 si aucune action faite, >0 si ok
*/ */
function run_trigger($action,$object,$user,$langs,$conf) function run_trigger($action,$object,$user,$langs,$conf)
{ {
@ -160,6 +160,7 @@ class InterfaceWebCal
} }
} }
return 0;
} }
} }