// Product names are now correctly displayed in AdminStockManagement & AdminStockCover

This commit is contained in:
bMancone
2011-11-22 12:40:56 +00:00
parent 1498bd3a46
commit e61c38e896
3 changed files with 6 additions and 17 deletions
+1 -1
View File
@@ -4035,7 +4035,7 @@ class ProductCore extends ObjectModel
// selects different names, if it is a combination
if ($id_product_attribute)
$query->select('IFNULL(CONCAT(pl.name, \' : \', GROUP_CONCAT(agl.`name`, \' - \', al.name SEPARATOR \', \')),pl.name) as name');
$query->select('IFNULL(CONCAT(pl.name, \' : \', GROUP_CONCAT(DISTINCT agl.`name`, \' - \', al.name SEPARATOR \', \')),pl.name) as name');
else
$query->select('DISTINCT pl.name as name');
@@ -113,8 +113,7 @@ class AdminStockCoverControllerCore extends AdminController
$query = new DbQuery();
$query->select('pa.id_product_attribute as id, pa.id_product, stock_view.reference, stock_view.ean13,
stock_view.upc, stock_view.usable_quantity as stock,
IFNULL(CONCAT(pl.name, \' : \', GROUP_CONCAT(agl.`name`, \' - \', al.name SEPARATOR \', \')),pl.name) as name');
stock_view.upc, stock_view.usable_quantity as stock');
$query->from('product_attribute pa
INNER JOIN
(
@@ -124,11 +123,6 @@ class AdminStockCoverControllerCore extends AdminController
GROUP BY s.id_product_attribute
)
stock_view ON (stock_view.id_product_attribute = pa.id_product_attribute)');
$query->innerJoin('product_lang pl ON (pl.id_product = pa.id_product AND pl.id_lang = '.$lang_id.')');
$query->leftJoin('product_attribute_combination pac ON (pac.id_product_attribute = pa.id_product_attribute)');
$query->leftJoin('attribute atr ON (atr.id_attribute = pac.id_attribute)');
$query->leftJoin('attribute_lang al ON (al.id_attribute = atr.id_attribute AND al.id_lang = '.$lang_id.')');
$query->leftJoin('attribute_group_lang agl ON (agl.id_attribute_group = atr.id_attribute_group AND agl.id_lang = '.$lang_id.')');
$query->where('pa.id_product = '.$id_product);
if ($warehouse != -1)
$query->where('s.id_warehouse = '.(int)$warehouse);
@@ -137,6 +131,8 @@ class AdminStockCoverControllerCore extends AdminController
$datas = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query);
foreach ($datas as &$data)
{
$data['name'] = Product::getProductName($data['id_product'], $data['id']);
if ($this->getCurrentCoverageWarehouse() == -1)
$data['coverage'] = StockManagerFactory::getManager()->getProductCoverage($data['id_product'], $data['id'], $period);
else
@@ -783,15 +783,7 @@ class AdminStockManagementControllerCore extends AdminController
// Load product attributes with sql override
$this->table = 'product_attribute';
$this->_select = 'a.id_product_attribute as id, a.id_product, a.reference, a.ean13, a.upc,
IFNULL(CONCAT(pl.name, \' : \', GROUP_CONCAT(agl.`name`, \' - \', al.name SEPARATOR \', \')),pl.name) as name';
$this->_join = '
INNER JOIN '._DB_PREFIX_.'product_lang pl ON (pl.id_product = a.id_product AND pl.id_lang = '.$lang_id.')
LEFT JOIN '._DB_PREFIX_.'product_attribute_combination pac ON (pac.id_product_attribute = a.id_product_attribute)
LEFT JOIN '._DB_PREFIX_.'attribute atr ON (atr.id_attribute = pac.id_attribute)
LEFT JOIN '._DB_PREFIX_.'attribute_lang al ON (al.id_attribute = atr.id_attribute AND al.id_lang = '.$lang_id.')
LEFT JOIN '._DB_PREFIX_.'attribute_group_lang agl ON (agl.id_attribute_group = atr.id_attribute_group AND agl.id_lang = '.$lang_id.')';
$this->_select = 'a.id_product_attribute as id, a.id_product, a.reference, a.ean13, a.upc';
$this->_where = 'AND a.id_product = '.$product_id;
$this->_group = 'GROUP BY a.id_product_attribute';
@@ -839,6 +831,7 @@ class AdminStockManagementControllerCore extends AdminController
// if it's an ajax request we have to consider manipulating a product variation
if ($this->ajax == '1')
{
$item['name'] = Product::getProductName($item['id_product'], $item['id']);
// no details for this row
$this->addRowActionSkipList('details', array($item['id']));