35 |
|
|
36 |
class ActionComm |
class ActionComm |
37 |
{ |
{ |
38 |
var $id; |
var $id; |
39 |
var $db; |
var $db; |
40 |
|
|
41 |
var $type_id; |
var $type_id; |
42 |
var $type_code; |
var $type_code; |
43 |
var $type; |
var $type; |
44 |
var $label; |
var $label; |
45 |
var $date; |
var $date; |
46 |
var $priority; |
var $priority; |
47 |
var $user; |
var $user; |
48 |
var $author; |
var $author; |
49 |
var $societe; |
var $societe; |
50 |
var $contact; |
var $contact; |
51 |
var $note; |
var $note; |
52 |
var $percent; |
var $percent; |
53 |
var $error; |
var $error; |
54 |
|
|
55 |
/** |
/** |
56 |
* \brief Constructeur |
* \brief Constructeur |
57 |
* \param db Handler d'accès base de donnée |
* \param db Handler d'accès base de donnée |
58 |
*/ |
*/ |
59 |
function ActionComm($db) |
function ActionComm($db) |
60 |
{ |
{ |
61 |
$this->db = $db; |
$this->db = $db; |
62 |
$this->societe = new Societe($db); |
$this->societe = new Societe($db); |
63 |
$this->author = new User($db); |
$this->author = new User($db); |
64 |
if (class_exists("Contact")) |
if (class_exists("Contact")) |
65 |
{ |
{ |
66 |
$this->contact = new Contact($db); |
$this->contact = new Contact($db); |
67 |
} |
} |
68 |
} |
} |
69 |
|
|
70 |
/** |
/** |
71 |
* \brief Ajout d'une action en base (et eventuellement dans webcalendar) |
* \brief Ajout d'une action en base |
72 |
* \param author auteur de la creation de l'action |
* \param author auteur de la creation de l'action |
73 |
* \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 |
74 |
* \return int id de l'action créée, < 0 si erreur |
*/ |
75 |
*/ |
function add($author) |
|
function add($author, $webcal=0) |
|
76 |
{ |
{ |
77 |
global $conf; |
global $langs,$conf; |
78 |
|
|
79 |
dolibarr_syslog("ActionComm::add"); |
dolibarr_syslog("ActionComm::add"); |
80 |
|
|
97 |
{ |
{ |
98 |
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."actioncomm"); |
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."actioncomm"); |
99 |
|
|
100 |
if ($conf->webcal->enabled) { |
// Appel des triggers |
101 |
|
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php"); |
102 |
// Appel a webcal |
$interface=new Interfaces($this->db); |
103 |
dolibarr_syslog("ActionComm::ajout entree dans webcal"); |
$interface->run_triggers('ACTION_CREATE',$this,$author,$langs,$conf); |
104 |
|
// 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; |
|
|
} |
|
|
} |
|
|
} |
|
105 |
|
|
106 |
return $this->id; |
return $this->id; |
107 |
} |
} |