/[dolibarr]/dolibarr/htdocs/contrat/contrat.class.php
ViewVC logotype

Diff of /dolibarr/htdocs/contrat/contrat.class.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.44 by eldy, Tue Sep 6 01:24:14 2005 UTC revision 1.45 by eldy, Fri Sep 9 21:25:53 2005 UTC
# Line 46  class Contrat Line 46  class Contrat
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;
# Line 218  class Contrat Line 219  class Contrat
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      {      {
# Line 230  class Contrat Line 231  class Contrat
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          {          {
# Line 382  class Contrat Line 392  class Contrat
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)
# Line 407  class Contrat Line 415  class Contrat
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;
# Line 424  class Contrat Line 434  class Contrat
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    
# Line 456  class Contrat Line 468  class Contrat
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            

Legend:
Removed from v.1.44  
changed lines
  Added in v.1.45

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26