From 46fbace85d0ab35e12b4cda0e7d6715b11eb54cd Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 9 Oct 2005 22:23:24 +0000 Subject: [PATCH] Ajoute fonction select_produits_fournisseurs --- htdocs/html.form.class.php | 66 +++++++++++++++++++++++++++++++++----- 1 file changed, 58 insertions(+), 8 deletions(-) diff --git a/htdocs/html.form.class.php b/htdocs/html.form.class.php index 6bb7492fbd0..74726d615dc 100644 --- a/htdocs/html.form.class.php +++ b/htdocs/html.form.class.php @@ -520,14 +520,15 @@ class Form } } - /** - * \brief Retourne la liste des produits - * \param selected Produit présélectionné - * \param htmlname Nom de la zone select - * \param filtretype Pour filtre sur type de produit - * \param limit Limite sur le nombre de lignes retournées - */ - function select_produits($selected='',$htmlname='productid',$filtretype='',$limit=20) + /** + * \brief Retourne la liste des produits + * \param selected Produit présélectionné + * \param htmlname Nom de la zone select + * \param filtretype Pour filtre sur type de produit + * \param limit Limite sur le nombre de lignes retournées + * \param filtre Pour filtre + */ + function select_produits($selected='',$htmlname='productid',$filtretype='',$limit=20,$filtre) { global $langs,$conf; @@ -535,6 +536,7 @@ class Form $sql.= " FROM ".MAIN_DB_PREFIX."product as p "; $sql.= " WHERE p.envente = 1"; if ($filtretype && $filtretype != '') $sql.=" AND p.fk_product_type=".$filtretype; + if ($filtre) $sql.="$filtre"; $sql.= " ORDER BY p.nbvente DESC"; if ($limit) $sql.= " LIMIT $limit"; @@ -566,6 +568,54 @@ class Form } + /** + * \brief Retourne la liste des produits fournisseurs + * \param selected Produit présélectionné + * \param htmlname Nom de la zone select + * \param filtretype Pour filtre sur type de produit + * \param limit Limite sur le nombre de lignes retournées + * \param filtre Pour filtre + */ + function select_produits_fournisseurs($socid,$selected='',$htmlname='productid',$filtretype='',$filtre='') + { + global $langs,$conf; + + $sql = "SELECT p.rowid, p.label, p.ref, p.price, (pf.price / pf.quantity) as priceunit, p.duration"; + $sql.= " FROM ".MAIN_DB_PREFIX."product as p "; + $sql .= " , ".MAIN_DB_PREFIX."product_fournisseur_price as pf "; + $sql.= " WHERE p.rowid = pf.fk_product AND pf.fk_soc = ".$socid; + if ($filtretype && $filtretype != '') $sql.=" AND p.fk_product_type=".$filtretype; + if ($filtre) $sql.="$filtre"; + $sql.= " ORDER BY p.ref DESC"; + + $result=$this->db->query($sql); + if ($result) + { + print ''; + + $this->db->free($result); + } + else + { + dolibarr_print_error($db); + } + } + + /** * \brief Charge dans cache la liste des conditions de paiements possibles * \return int Nb lignes chargées, 0 si déjà chargées, <0 si ko