[-] BO : fix the change of advanced stock management in the products on GroupShop context #PSCFV-5521
This commit is contained in:
+23
-3
@@ -4978,11 +4978,31 @@ class ProductCore extends ObjectModel
|
|||||||
$this->out_of_stock = StockAvailable::outOfStock($this->id);
|
$this->out_of_stock = StockAvailable::outOfStock($this->id);
|
||||||
$this->depends_on_stock = StockAvailable::dependsOnStock($this->id);
|
$this->depends_on_stock = StockAvailable::dependsOnStock($this->id);
|
||||||
if (Context::getContext()->shop->getContext() == Shop::CONTEXT_GROUP && Context::getContext()->shop->getContextShopGroup()->share_stock == 1)
|
if (Context::getContext()->shop->getContext() == Shop::CONTEXT_GROUP && Context::getContext()->shop->getContextShopGroup()->share_stock == 1)
|
||||||
$this->advanced_stock_management = Db::getInstance()->getValue('SELECT `advanced_stock_management`
|
$this->advanced_stock_management = $this->useAdvancedStockManagement();
|
||||||
FROM '._DB_PREFIX_.'product_shop
|
|
||||||
WHERE id_product='.(int)$this->id.Shop::addSqlRestriction());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function useAdvancedStockManagement()
|
||||||
|
{
|
||||||
|
return Db::getInstance()->getValue('
|
||||||
|
SELECT `advanced_stock_management`
|
||||||
|
FROM '._DB_PREFIX_.'product_shop
|
||||||
|
WHERE id_product='.(int)$this->id.Shop::addSqlRestriction()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setAdvancedStockManagement($value)
|
||||||
|
{
|
||||||
|
$this->advanced_stock_management = (int)$value;
|
||||||
|
if (Context::getContext()->shop->getContext() == Shop::CONTEXT_GROUP && Context::getContext()->shop->getContextShopGroup()->share_stock == 1)
|
||||||
|
Db::getInstance()->execute('
|
||||||
|
UPDATE `'._DB_PREFIX_.'product_shop`
|
||||||
|
SET `advanced_stock_management`='.(int)$value.'
|
||||||
|
WHERE id_product='.(int)$this->id.Shop::addSqlRestriction()
|
||||||
|
);
|
||||||
|
else
|
||||||
|
$this->save();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get the default category according to the shop
|
* get the default category according to the shop
|
||||||
|
|||||||
@@ -4022,8 +4022,7 @@ class AdminProductsControllerCore extends AdminController
|
|||||||
if (Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT') && Pack::isPack($product->id))
|
if (Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT') && Pack::isPack($product->id))
|
||||||
die (Tools::jsonEncode(array('error' => $this->l('Not possible if the product is a pack'))));
|
die (Tools::jsonEncode(array('error' => $this->l('Not possible if the product is a pack'))));
|
||||||
|
|
||||||
$product->advanced_stock_management = (int)Tools::getValue('value');
|
$product->setAdvancedStockManagement((int)Tools::getValue('value'));
|
||||||
$product->save();
|
|
||||||
if (StockAvailable::dependsOnStock($product->id) == 1 && (int)Tools::getValue('value') == 0)
|
if (StockAvailable::dependsOnStock($product->id) == 1 && (int)Tools::getValue('value') == 0)
|
||||||
StockAvailable::setProductDependsOnStock($product->id, 0);
|
StockAvailable::setProductDependsOnStock($product->id, 0);
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user