// #PSFV-94 : bugs fix for add / remove products to a supplier order
This commit is contained in:
@@ -143,7 +143,7 @@ class AdminStockCoverControllerCore extends AdminController
|
||||
$this->_select = 'a.id_product as id, COUNT(pa.id_product_attribute) as variations, s.physical_quantity as stock';
|
||||
$this->_join = 'LEFT JOIN `'._DB_PREFIX_.'product_attribute` pa ON (pa.id_product = a.id_product)
|
||||
INNER JOIN `'._DB_PREFIX_.'stock` s ON (s.id_product = a.id_product)';
|
||||
$this->_where = 'AND s.id_product_attribute = 0';
|
||||
|
||||
if ($this->getCurrentCoverageWarehouse() != -1)
|
||||
$this->_where .= ' AND s.id_warehouse = '.$this->getCurrentCoverageWarehouse();
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ class AdminSupplierOrdersControllerCore extends AdminController
|
||||
),
|
||||
),
|
||||
'submit' => array(
|
||||
'title' => $this->l(' Save order modifications '),
|
||||
'title' => $this->l(' Save order '),
|
||||
)
|
||||
);
|
||||
|
||||
@@ -881,6 +881,7 @@ class AdminSupplierOrdersControllerCore extends AdminController
|
||||
if ($id_supplier_order != null)
|
||||
{
|
||||
$supplier_order = new SupplierOrder($id_supplier_order);
|
||||
$products_already_in_order = $supplier_order->getEntries();
|
||||
$currency = new Currency($supplier_order->id_ref_currency);
|
||||
|
||||
if (Validate::isLoadedObject($supplier_order))
|
||||
@@ -901,7 +902,7 @@ class AdminSupplierOrdersControllerCore extends AdminController
|
||||
$product_ids_str = Tools::getValue('product_ids', null);
|
||||
$product_ids = explode('|', $product_ids_str);
|
||||
|
||||
// updates existing products ids
|
||||
// manage each product
|
||||
foreach ($product_ids as $id)
|
||||
{
|
||||
$errors = array();
|
||||
@@ -969,6 +970,25 @@ class AdminSupplierOrdersControllerCore extends AdminController
|
||||
else
|
||||
$entry->save();
|
||||
}
|
||||
|
||||
//delete products that are not managed anymore
|
||||
foreach ($products_already_in_order as $paio)
|
||||
{
|
||||
$product_ok = false;
|
||||
|
||||
foreach ($product_ids as $id)
|
||||
{
|
||||
$id_check = $paio['id_product'].'_'.$paio['id_product_attribute'];
|
||||
if ($id_check == $id)
|
||||
$product_ok = true;
|
||||
}
|
||||
|
||||
if ($product_ok === false)
|
||||
{
|
||||
$entry = new SupplierOrderDetail($paio['id_supplier_order_detail']);
|
||||
$entry->delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user