46 |
var $user_service; |
var $user_service; |
47 |
var $user_cloture; |
var $user_cloture; |
48 |
var $date_creation; |
var $date_creation; |
49 |
|
var $date_validation; |
50 |
var $date_cloture; |
var $date_cloture; |
51 |
|
|
52 |
var $commercial_signature_id; |
var $commercial_signature_id; |
219 |
/** |
/** |
220 |
* \brief Chargement depuis la base des données du contrat |
* \brief Chargement depuis la base des données du contrat |
221 |
* \param id Id du contrat à charger |
* \param id Id du contrat à charger |
222 |
* \return int <0 si KO, >0 si OK |
* \return int <0 si ko, id du contrat chargé si ok |
223 |
*/ |
*/ |
224 |
function fetch($id) |
function fetch($id) |
225 |
{ |
{ |
231 |
$sql.= " FROM ".MAIN_DB_PREFIX."contrat WHERE rowid = $id"; |
$sql.= " FROM ".MAIN_DB_PREFIX."contrat WHERE rowid = $id"; |
232 |
|
|
233 |
$resql = $this->db->query($sql) ; |
$resql = $this->db->query($sql) ; |
234 |
|
|
235 |
if ($resql) |
if ($resql) |
236 |
{ |
{ |
237 |
$result = $this->db->fetch_array($resql); |
$result = $this->db->fetch_array($resql); |
238 |
|
|
239 |
$this->id = $result["rowid"]; |
if ($result) |
240 |
$this->ref = $result["rowid"]; |
{ |
241 |
$this->statut = $result["statut"]; |
$this->id = $result["rowid"]; |
242 |
$this->factureid = $result["fk_facture"]; |
$this->ref = $result["rowid"]; |
243 |
$this->facturedetid = $result["fk_facturedet"]; |
$this->statut = $result["statut"]; |
244 |
$this->mise_en_service = $result["datemise"]; |
$this->factureid = $result["fk_facture"]; |
245 |
$this->date_fin_validite = $result["datefin"]; |
$this->facturedetid = $result["fk_facturedet"]; |
246 |
$this->date_contrat = $result["datecontrat"]; |
$this->mise_en_service = $result["datemise"]; |
247 |
|
$this->date_fin_validite = $result["datefin"]; |
248 |
$this->user_author_id = $result["fk_user_author"]; |
$this->date_contrat = $result["datecontrat"]; |
249 |
|
|
250 |
$this->commercial_signature_id = $result["fk_commercial_signature"]; |
$this->user_author_id = $result["fk_user_author"]; |
251 |
$this->commercial_suivi_id = $result["fk_commercial_suivi"]; |
|
252 |
|
$this->commercial_signature_id = $result["fk_commercial_signature"]; |
253 |
$this->user_service->id = $result["fk_user_mise_en_service"]; |
$this->commercial_suivi_id = $result["fk_commercial_suivi"]; |
254 |
$this->user_cloture->id = $result["fk_user_cloture"]; |
|
255 |
|
$this->user_service->id = $result["fk_user_mise_en_service"]; |
256 |
$this->fk_projet = $result["fk_projet"]; |
$this->user_cloture->id = $result["fk_user_cloture"]; |
257 |
|
|
258 |
$this->societe->fetch($result["fk_soc"]); |
$this->fk_projet = $result["fk_projet"]; |
259 |
|
|
260 |
|
$this->societe->fetch($result["fk_soc"]); |
261 |
|
|
262 |
|
$this->db->free($resql); |
263 |
|
|
264 |
$this->db->free($resql); |
return $this->id; |
265 |
|
} |
266 |
return 1; |
else |
267 |
|
{ |
268 |
|
dolibarr_syslog("Contrat::Fetch Erreur contrat non trouve"); |
269 |
|
$this->error="Contrat non trouve"; |
270 |
|
return -2; |
271 |
|
} |
272 |
} |
} |
273 |
else |
else |
274 |
{ |
{ |
392 |
/** |
/** |
393 |
* \brief Crée un contrat vierge en base |
* \brief Crée un contrat vierge en base |
394 |
* \param user Utilisateur qui crée |
* \param user Utilisateur qui crée |
395 |
* \param lang Environnement langue de l'utilisateur |
* \param langs Environnement langue de l'utilisateur |
396 |
* \param conf Environnement de configuration lors de l'opération |
* \param conf Environnement de configuration lors de l'opération |
397 |
* \return int < 0 si erreur, id contrat créé sinon |
* \return int <0 si erreur, id contrat créé sinon |
398 |
*/ |
*/ |
399 |
function create($user,$lang='',$conf='') |
function create($user,$langs='',$conf='') |
400 |
{ |
{ |
|
global $langs; |
|
|
|
|
401 |
// Controle validité des paramètres |
// Controle validité des paramètres |
402 |
$paramsok=1; |
$paramsok=1; |
403 |
if ($this->commercial_signature_id <= 0) |
if ($this->commercial_signature_id <= 0) |
415 |
} |
} |
416 |
if (! $paramsok) return -1; |
if (! $paramsok) return -1; |
417 |
|
|
418 |
|
$this->db->begin(); |
419 |
|
|
420 |
// Insère contrat |
// Insère contrat |
421 |
$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)"; |
422 |
$sql.= " VALUES (now(),".$this->soc_id.",".$user->id; |
$sql.= " VALUES (now(),".$this->soc_id.",".$user->id; |
434 |
$interface->run_triggers('CONTRACT_CREATE',$this,$user,$lang,$conf); |
$interface->run_triggers('CONTRACT_CREATE',$this,$user,$lang,$conf); |
435 |
// Fin appel triggers |
// Fin appel triggers |
436 |
|
|
437 |
$result = $this->id; |
$this->db->commit(); |
438 |
|
|
439 |
|
return $this->id; |
440 |
} |
} |
441 |
else |
else |
442 |
{ |
{ |
443 |
$this->error=$lang->trans("UnknownError: ".$this->db->error()." - sql=".$sql); |
$this->db->rollback(); |
444 |
|
|
445 |
dolibarr_syslog("Contrat::create - 10"); |
dolibarr_syslog("Contrat::create - 10"); |
446 |
$result = -1; |
$this->error=$lang->trans("UnknownError: ".$this->db->error()." - sql=".$sql); |
447 |
|
return -1; |
448 |
} |
} |
|
|
|
|
return $result; |
|
449 |
} |
} |
450 |
|
|
451 |
|
|
468 |
$interface->run_triggers('CONTRACT_DELETE',$this,$user,$lang,$conf); |
$interface->run_triggers('CONTRACT_DELETE',$this,$user,$lang,$conf); |
469 |
// Fin appel triggers |
// Fin appel triggers |
470 |
|
|
471 |
$result = 1; |
return 1; |
472 |
} |
} |
473 |
else |
else |
474 |
{ |
{ |
475 |
$result = -1; |
return -1; |
476 |
} |
} |
|
|
|
|
return $result; |
|
477 |
} |
} |
478 |
|
|
479 |
|
|