[*] BO : Added countries to order list (idea from PhpMadman https://github.com/PrestaShop/PrestaShop/pull/909)
This commit is contained in:
@@ -46,10 +46,14 @@ class AdminOrdersControllerCore extends AdminController
|
|||||||
CONCAT(LEFT(c.`firstname`, 1), \'. \', c.`lastname`) AS `customer`,
|
CONCAT(LEFT(c.`firstname`, 1), \'. \', c.`lastname`) AS `customer`,
|
||||||
osl.`name` AS `osname`,
|
osl.`name` AS `osname`,
|
||||||
os.`color`,
|
os.`color`,
|
||||||
IF((SELECT COUNT(so.id_order) FROM `'._DB_PREFIX_.'orders` so WHERE so.id_customer = a.id_customer) > 1, 0, 1) as new';
|
IF((SELECT COUNT(so.id_order) FROM `'._DB_PREFIX_.'orders` so WHERE so.id_customer = a.id_customer) > 1, 0, 1) as new,
|
||||||
|
country_lang.name as cname';
|
||||||
|
|
||||||
$this->_join = '
|
$this->_join = '
|
||||||
LEFT JOIN `'._DB_PREFIX_.'customer` c ON (c.`id_customer` = a.`id_customer`)
|
LEFT JOIN `'._DB_PREFIX_.'customer` c ON (c.`id_customer` = a.`id_customer`)
|
||||||
|
INNER JOIN `'._DB_PREFIX_.'address` address ON address.id_address = a.id_address_delivery
|
||||||
|
INNER JOIN `'._DB_PREFIX_.'country` country ON address.id_country = country.id_country
|
||||||
|
INNER JOIN `'._DB_PREFIX_.'country_lang` country_lang ON (country.`id_country` = country_lang.`id_country` AND country_lang.`id_lang` = '.(int)$this->context->language->id.')
|
||||||
LEFT JOIN `'._DB_PREFIX_.'order_state` os ON (os.`id_order_state` = a.`current_state`)
|
LEFT JOIN `'._DB_PREFIX_.'order_state` os ON (os.`id_order_state` = a.`current_state`)
|
||||||
LEFT JOIN `'._DB_PREFIX_.'order_state_lang` osl ON (os.`id_order_state` = osl.`id_order_state` AND osl.`id_lang` = '.(int)$this->context->language->id.')';
|
LEFT JOIN `'._DB_PREFIX_.'order_state_lang` osl ON (os.`id_order_state` = osl.`id_order_state` AND osl.`id_lang` = '.(int)$this->context->language->id.')';
|
||||||
$this->_orderBy = 'id_order';
|
$this->_orderBy = 'id_order';
|
||||||
@@ -115,6 +119,34 @@ class AdminOrdersControllerCore extends AdminController
|
|||||||
'search' => false,
|
'search' => false,
|
||||||
'remove_onclick' => true)
|
'remove_onclick' => true)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if (Country::isCurrentlyUsed('country', true))
|
||||||
|
{
|
||||||
|
$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
|
||||||
|
SELECT DISTINCT c.id_country, cl.`name`
|
||||||
|
FROM `'._DB_PREFIX_.'orders` o
|
||||||
|
'.Shop::addSqlAssociation('orders', 'o').'
|
||||||
|
INNER JOIN `'._DB_PREFIX_.'address` a ON a.id_address = o.id_address_delivery
|
||||||
|
INNER JOIN `'._DB_PREFIX_.'country` c ON a.id_country = c.id_country
|
||||||
|
INNER JOIN `'._DB_PREFIX_.'country_lang` cl ON (c.`id_country` = cl.`id_country` AND cl.`id_lang` = '.(int)$this->context->language->id.')
|
||||||
|
ORDER BY cl.name ASC');
|
||||||
|
|
||||||
|
$country_array = array();
|
||||||
|
foreach ($result as $row)
|
||||||
|
$country_array[$row['id_country']] = $row['name'];
|
||||||
|
|
||||||
|
$part1 = array_slice($this->fields_list, 0, 3);
|
||||||
|
$part2 = array_slice($this->fields_list, 3);
|
||||||
|
$part1['cname'] = array(
|
||||||
|
'title' => $this->l('Delivery'),
|
||||||
|
'type' => 'select',
|
||||||
|
'list' => $country_array,
|
||||||
|
'filter_key' => 'country!id_country',
|
||||||
|
'filter_type' => 'int',
|
||||||
|
'order_key' => 'cname'
|
||||||
|
);
|
||||||
|
$this->fields_list = array_merge($part1, $part2);
|
||||||
|
}
|
||||||
|
|
||||||
$this->shopLinkType = 'shop';
|
$this->shopLinkType = 'shop';
|
||||||
$this->shopShareDatas = Shop::SHARE_ORDER;
|
$this->shopShareDatas = Shop::SHARE_ORDER;
|
||||||
|
|||||||
Reference in New Issue
Block a user