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