// BugFix : Adding warehouse on order edition

This commit is contained in:
mDeflotte
2011-12-14 16:19:05 +00:00
parent 1a4c91ce5b
commit e0ff6f4697
9 changed files with 135 additions and 24 deletions
+1 -1
View File
@@ -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)
+16
View File
@@ -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);
}
}
+22
View File
@@ -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;
}
}
+5 -4
View File
@@ -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();