dolibarr-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dolibarr-dev] Erreur dans product.class.php


From: Michel L'Hostis
Subject: [Dolibarr-dev] Erreur dans product.class.php
Date: Tue, 9 Dec 2008 18:42:34 +0100

Bonjour,

En utilisant la fonction fetch de product.class de la version 2.4.1, je me suis aperçu qu’elle ne retournait pas d’erreur lorsque le produit n’existe pas en base.

 

Voici le code de la fonction avec la ligne(en fin de message) que j’ai ajouté pour retourné -1 lorsque le produit n’est pas en base

 

Je vous laisse reporter la modif.

 

 

      /**

       *      \brief      Charge le produit/service en mmoire

       *      \param      id      Id du produit/service charger

       *      \param      ref     Ref du produit/service charger

       *      \return     int     <0 si ko, >0 si ok

       */

      function fetch($id='',$ref='')

      {

            global $langs;

            global $conf;

 

            dolibarr_syslog("Product::fetch id=$id ref=$ref");

 

            // Verification parametres

            if (! $id && ! $ref)

            {

                  $this->error=$langs->trans('ErrorWrongParameters');

                  dolibarr_print_error("Product::fetch ".$this->error);

                  return -1;

            }

 

            $sql = "SELECT rowid, ref, label, description, note, price, price_ttc, price_base_type, tva_tx, envente,";

            $sql.= " nbvente, fk_product_type, duration, seuil_stock_alerte,canvas,";

            $sql.= " stock_commande, stock_loc, weight, weight_units, volume, volume_units, barcode, fk_barcode_type";

            $sql.= " FROM ".MAIN_DB_PREFIX."product";

            if ($id) $sql.= " WHERE rowid = '".$id."'";

            if ($ref) $sql.= " WHERE ref = '".addslashes($ref)."'";

 

            dolibarr_syslog("Product::fetch sql=".$sql);

            echo $sql."<br>";

            $result = $this->db->query($sql);

            if ( $result )

            {

                  $result = $this->db->fetch_array();

                                   if (!$result ) return -1; //produit n'est pas dans la base, Ajout le 08-12-2008


reply via email to

[Prev in Thread] Current Thread [Next in Thread]