diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index 715f4ac85f9ab87a2178229203896ba6de175a16..7a4e927aeb4a36ffa627326a9789fe48a3d7bbb7 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -53,6 +53,18 @@ class CommandeFournisseur extends Commande // -> 7=Canceled/Never received -> (reopen) 3=Process runing // -> 6=Canceled -> (reopen) 2=Approved // -> 9=Refused -> (reopen) 1=Validated + var $socid; + var $fourn_id; + var $date; + var $date_commande; + var $total_ht; + var $total_tva; + var $total_ttc; + var $source; + var $note; + var $note_public; + var $model_pdf; + var $fk_project; /** \brief Constructeur @@ -79,10 +91,10 @@ class CommandeFournisseur extends Commande /** - * \brief Get object and lines from database - * \param id Id of order to load - * \param ref Ref of object - * \return int >0 if OK, <0 if KO + * Get object and lines from database + * @param id Id of order to load + * @param ref Ref of object + * @return int >0 if OK, <0 if KO */ function fetch($id,$ref='') { @@ -103,6 +115,7 @@ class CommandeFournisseur extends Commande if ($resql) { $obj = $this->db->fetch_object($resql); + if (! $obj) return -1; $this->id = $obj->rowid; $this->ref = $obj->ref; @@ -142,7 +155,7 @@ class CommandeFournisseur extends Commande $sql.= " ORDER BY l.rowid"; //print $sql; - dol_syslog("CommandeFournisseur::fetch sql=".$sql,LOG_DEBUG); + dol_syslog("CommandeFournisseur::fetch get lines sql=".$sql,LOG_DEBUG); $result = $this->db->query($sql); if ($result) { @@ -700,9 +713,9 @@ class CommandeFournisseur extends Commande } /** - * \brief Create order with draft status - * \param user User making creation - * \return int <0 if KO, >0 if OK + * Create order with draft status + * @param user User making creation + * @return int <0 if KO, Id of supplier order if OK */ function create($user) { @@ -710,6 +723,8 @@ class CommandeFournisseur extends Commande $this->db->begin(); + $now=dol_now(); + /* On positionne en mode brouillon la commande */ $this->brouillon = 1; @@ -727,7 +742,7 @@ class CommandeFournisseur extends Commande $sql.= "''"; $sql.= ", ".$conf->entity; $sql.= ", ".$this->socid; - $sql.= ", ".$this->db->idate(mktime()); + $sql.= ", ".$this->db->idate($now); $sql.= ", ".$user->id; $sql.= ", 0"; $sql.= ", 0"; @@ -756,7 +771,7 @@ class CommandeFournisseur extends Commande // Fin appel triggers $this->db->commit(); - return 1; + return $this->id; } else { @@ -1431,7 +1446,7 @@ class CommandeFournisseur extends Commande $sql = "SELECT rowid"; $sql.= " FROM ".MAIN_DB_PREFIX."product"; - $sql.= " AND entity = ".$conf->entity; + $sql.= " WHERE entity = ".$conf->entity; $resql = $this->db->query($sql); if ($resql) @@ -1452,6 +1467,7 @@ class CommandeFournisseur extends Commande $this->specimen=1; $this->socid = 1; $this->date = time(); + $this->date_commande = time(); $this->date_lim_reglement=$this->date+3600*24*30; $this->cond_reglement_code = 'RECEP'; $this->mode_reglement_code = 'CHQ'; diff --git a/test/phpunit/CommandeFournisseurTest.php b/test/phpunit/CommandeFournisseurTest.php index 1e81cb2f3c89eeaefc182d20ebcc86117cfeae43..80a709e03b49a41f28df1d83935bba40c7484b9e 100644 --- a/test/phpunit/CommandeFournisseurTest.php +++ b/test/phpunit/CommandeFournisseurTest.php @@ -39,11 +39,12 @@ if (empty($user->id)) $conf->global->MAIN_DISABLE_ALL_MAILS=1; + /** * @backupGlobals disabled * @backupStaticAttributes enabled * @covers CommandeFournisseur - * @covers OrderLineFournisseur + * @covers CommandeFournisseurLigne * @remarks backupGlobals must be disabled to have db,conf,user and lang not erased. */ class CommandeFournisseurTest extends PHPUnit_Framework_TestCase @@ -123,8 +124,8 @@ class CommandeFournisseurTest extends PHPUnit_Framework_TestCase $localobject->initAsSpecimen(); $result=$localobject->create($user); + print __METHOD__." result=".$result."\n"; $this->assertLessThan($result, 0); - print __METHOD__." result=".$result."\n"; return $result; } @@ -143,8 +144,8 @@ class CommandeFournisseurTest extends PHPUnit_Framework_TestCase $localobject=new CommandeFournisseur($this->savdb); $result=$localobject->fetch($id); - $this->assertLessThan($result, 0); print __METHOD__." id=".$id." result=".$result."\n"; + $this->assertLessThan($result, 0); return $localobject; }