// BugFix : Adding warehouse on order edition
This commit is contained in:
@@ -304,7 +304,7 @@ class CustomerCore extends ObjectModel
|
||||
FROM `'._DB_PREFIX_.'customer`
|
||||
WHERE `email` = \''.pSQL($email).'\'
|
||||
'.$shop->addSqlRestriction(Shop::SHARE_CUSTOMER).
|
||||
($ignore_guest ? 'AND `is_guest` = 0' : '');
|
||||
($ignore_guest ? ' AND `is_guest` = 0' : '');
|
||||
$result = Db::getInstance()->getRow($sql);
|
||||
|
||||
if ($return_id)
|
||||
|
||||
@@ -4643,4 +4643,20 @@ class ProductCore extends ObjectModel
|
||||
Search::indexation(false, $this->id);
|
||||
return $success;
|
||||
}
|
||||
|
||||
public static function getRealQuantity($id_product, $id_product_attribute = 0, $id_warehouse = 0, $id_shop = null)
|
||||
{
|
||||
static $manager = null;
|
||||
|
||||
if (Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT') && is_null($manager))
|
||||
$manager = StockManagerFactory::getManager();
|
||||
|
||||
if (is_null($id_shop))
|
||||
$id_shop = Context::getContext()->shop->getID(true);
|
||||
|
||||
if (Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT') && StockAvailable::dependsOnStock($id_product, $id_shop))
|
||||
return $manager->getProductRealQuantities($id_product, $id_product_attribute, $id_warehouse, true);
|
||||
else
|
||||
return StockAvailable::getQuantityAvailableByProduct($id_product, $id_product_attribute, $id_shop);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1567,5 +1567,27 @@ class OrderCore extends ObjectModel
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get warehouse associated to the order
|
||||
*
|
||||
* return array List of warehouse
|
||||
*/
|
||||
public function getWarehouseList()
|
||||
{
|
||||
$results = Db::getInstance()->executeS('
|
||||
SELECT id_warehouse
|
||||
FROM `'._DB_PREFIX_.'order_detail`
|
||||
WHERE `id_order` = '.(int)$this->id.'
|
||||
GROUP BY id_warehouse');
|
||||
if (!$results)
|
||||
return array();
|
||||
|
||||
$warehouse_list = array();
|
||||
foreach ($results as $row)
|
||||
$warehouse_list[] = $row['id_warehouse'];
|
||||
|
||||
return $warehouse_list;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -250,17 +250,18 @@ class WarehouseCore extends ObjectModel
|
||||
* @param int $id_product
|
||||
* @param int $id_product_attribute
|
||||
* @param int $id_shop
|
||||
* @return string
|
||||
* @return array
|
||||
*/
|
||||
public static function getProductWarehouseList($id_product, $id_product_attribute, $id_shop = null)
|
||||
public static function getProductWarehouseList($id_product, $id_product_attribute = 0, $id_shop = null)
|
||||
{
|
||||
if (is_null($id_shop))
|
||||
$id_shop = Context::getContext()->shop->getID(true);
|
||||
|
||||
$query = new DbQuery();
|
||||
$query->select('wpl.id_warehouse');
|
||||
$query->select('wpl.id_warehouse, CONCAT(w.reference, " - ", w.name) as name');
|
||||
$query->from('warehouse_product_location wpl');
|
||||
$query->innerJoin('warehouse_shop ws ON (ws.id_warehouse = wpl.id_warehouse AND id_shop = '.(int)$id_shop.')');
|
||||
$query->innerJoin('warehouse w ON (ws.id_warehouse = w.id_warehouse)');
|
||||
$query->where('id_product = '.(int)$id_product);
|
||||
$query->where('id_product_attribute = '.(int)$id_product_attribute);
|
||||
$query->groupBy('wpl.id_warehouse');
|
||||
@@ -388,7 +389,7 @@ class WarehouseCore extends ObjectModel
|
||||
* @param int $id_product_attribute
|
||||
* @return array
|
||||
*/
|
||||
public static function getWarehousesByProductId($id_product, $id_product_attribute)
|
||||
public static function getWarehousesByProductId($id_product, $id_product_attribute = 0)
|
||||
{
|
||||
if (!$id_product && !$id_product_attribute)
|
||||
return array();
|
||||
|
||||
Reference in New Issue
Block a user