Rodolphe Quiedeville wrote:
> Salut,
> 
> Dans la classe Produit htdocs/product.class.php j'ai trouvé le code
> suivant :
> 
> 
> function clone_price($fromId, $toId)
>  {
>     global $db;
> 
>     $db->begin();
> 
>     // les prix
>     $sql = "insert "    .MAIN_DB_PREFIX."product_price ("
>       . " fk_product, date_price, price, tva_tx, fk_user_author, envente )"
>       . " select ".$toId . ", date_price, price, tva_tx, fk_user_author,
> envente "
>       . " from ".MAIN_DB_PREFIX."product_price "
>       . " where fk_product = ". $fromId . ";" ;
>     if ( ! $db->query($sql ) ) {
>       $db->rollback();
>       return -1;
>     }
>     $db->commit();
>     return 1;
>   }
> 
> 
> 
> Je suis surpris de voir une utilisation de $db en tant que globale, cela
> vient à mon sens d'un problème de compréhension du code, je ne vais pas
> chercher qui à fait cette modif, mais il faut que l'on discute ici de ce
> problème de compréhension car on ne peut laisser du code comme cela dans
> Dolibarr.
> 
> A++
>       

Eh bien, le code est déjà dedans depuis plus d'un ans. Je pense que
celui qui a fait le commit n'a pas fait attention à ça. Remplacer $db
par $this->db et enlever le ligne global le corrige naturellement.
Btw: c'est aussi dans la fonction clone_fournisseurs.
Peut-être aussi ajouter dolibarr_print_error($this->db) quand ça marche pas?

Franky


_______________________________________________
Dolibarr-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev

Répondre à