Merge pull request #9066 from hregis/8.0_product

Fix: differentiate customer prices from supplier prices sharing with getEntity("productsupplierprice")
This commit is contained in:
Laurent Destailleur 2018-07-09 17:05:36 +02:00 committed by GitHub
commit 19c652ce06
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 8 additions and 6 deletions

View File

@ -2654,7 +2654,7 @@ class Form
$sql.= " FROM ".MAIN_DB_PREFIX."product as p";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product_fournisseur_price as pfp ON p.rowid = pfp.fk_product";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON pfp.fk_soc = s.rowid";
$sql.= " WHERE pfp.entity IN (".getEntity('productprice').")";
$sql.= " WHERE pfp.entity IN (".getEntity('productsupplierprice').")";
$sql.= " AND p.tobuy = 1";
$sql.= " AND s.fournisseur = 1";
$sql.= " AND p.rowid = ".$productid;

View File

@ -530,7 +530,7 @@ class ProductFournisseur extends Product
$sql.= " ,pfp.multicurrency_price, pfp.multicurrency_unitprice, pfp.multicurrency_tx, pfp.fk_multicurrency, pfp.multicurrency_code";
$sql.= " FROM ".MAIN_DB_PREFIX."product_fournisseur_price as pfp";
$sql.= ", ".MAIN_DB_PREFIX."societe as s";
$sql.= " WHERE pfp.entity IN (".getEntity('productprice').")";
$sql.= " WHERE pfp.entity IN (".getEntity('productsupplierprice').")";
$sql.= " AND pfp.fk_soc = s.rowid";
$sql.= " AND s.status=1"; // only enabled company selected
$sql.= " AND pfp.fk_product = ".$prodid;

View File

@ -3081,7 +3081,7 @@ class Product extends CommonObject
$sql.= " WHERE fk_soc = ".$id_fourn;
$sql.= " AND ref_fourn = '".$this->db->escape($ref_fourn)."'";
$sql.= " AND fk_product != ".$this->id;
$sql.= " AND entity IN (".getEntity('productprice').")";
$sql.= " AND entity IN (".getEntity('productsupplierprice').")";
$resql=$this->db->query($sql);
if ($resql)
@ -3104,7 +3104,7 @@ class Product extends CommonObject
else $sql.= " AND (ref_fourn = '' OR ref_fourn IS NULL)";
$sql.= " AND quantity = '".$quantity."'";
$sql.= " AND fk_product = ".$this->id;
$sql.= " AND entity IN (".getEntity('productprice').")";
$sql.= " AND entity IN (".getEntity('productsupplierprice').")";
$resql=$this->db->query($sql);
if ($resql)

View File

@ -341,7 +341,8 @@ class Productcustomerprice extends CommonObject
$sql .= " WHERE soc.rowid=t.fk_soc ";
$sql .= " AND prod.rowid=t.fk_product ";
$sql .= " AND prod.entity IN (" . getEntity('product') . ")";
$sql .= " AND t.entity IN (" . getEntity('productprice') . ")";
// Manage filter
if (count($filter) > 0) {
foreach ( $filter as $key => $value ) {
@ -450,6 +451,7 @@ class Productcustomerprice extends CommonObject
$sql .= " WHERE soc.rowid=t.fk_soc ";
$sql .= " AND prod.rowid=t.fk_product ";
$sql .= " AND prod.entity IN (" . getEntity('product') . ")";
$sql .= " AND t.entity IN (" . getEntity('productprice') . ")";
// Manage filter
if (count($filter) > 0) {

View File

@ -218,7 +218,7 @@ $sql.= " FROM ".MAIN_DB_PREFIX."product_lot as t";
if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label)) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product_lot_extrafields as ef on (t.rowid = ef.fk_object)";
$sql.= ", ".MAIN_DB_PREFIX."product as p";
$sql.= " WHERE p.rowid = t.fk_product";
//$sql.= " WHERE u.entity IN (".getEntity('productlot').")";
$sql.= " WHERE p.entity IN (".getEntity('product').")";
if ($search_entity) $sql.= natural_search("entity",$search_entity);
if ($search_product) $sql.= natural_search("p.ref",$search_product);