|
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 m�moire
* \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 |
[Prev in Thread] | Current Thread | [Next in Thread] |