[*] Core: you can now associate modules to order states in order to add extra mail vars

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@16618 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
rGaillard
2012-07-31 09:18:41 +00:00
parent 58f7fb1c03
commit b37a36eba5
9 changed files with 41 additions and 18 deletions
+9 -1
View File
@@ -310,7 +310,7 @@ class OrderHistoryCore extends ObjectModel
return false;
$result = Db::getInstance()->getRow('
SELECT osl.`template`, c.`lastname`, c.`firstname`, osl.`name` AS osname, c.`email`
SELECT osl.`template`, c.`lastname`, c.`firstname`, osl.`name` AS osname, c.`email`, os.`module_name`
FROM `'._DB_PREFIX_.'order_history` oh
LEFT JOIN `'._DB_PREFIX_.'orders` o ON oh.`id_order` = o.`id_order`
LEFT JOIN `'._DB_PREFIX_.'customer` c ON o.`id_customer` = c.`id_customer`
@@ -328,6 +328,14 @@ class OrderHistoryCore extends ObjectModel
);
if ($template_vars)
$data = array_merge($data, $template_vars);
if ($result['module_name'])
{
$module = Module::getInstanceByName($result['module_name']);
if (Validate::isLoadedObject($module) && isset($module->extra_mail_vars) && is_array($module->extra_mail_vars))
$data = array_merge($data, $module->extra_mail_vars);
}
$data['{total_paid}'] = Tools::displayPrice((float)$order->total_paid, new Currency((int)$order->id_currency), false);
$data['{order_name}'] = $order->getUniqReference();
+3
View File
@@ -36,6 +36,8 @@ class OrderStateCore extends ObjectModel
/** @var boolean Send an e-mail to customer ? */
public $send_email;
public $module_name;
/** @var boolean Allow customer to view and download invoice when order is at this state */
public $invoice;
@@ -71,6 +73,7 @@ class OrderStateCore extends ObjectModel
'multilang' => true,
'fields' => array(
'send_email' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
'module_name' => array('type' => self::TYPE_STRING, 'validate' => 'isModuleName'),
'invoice' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
'color' => array('type' => self::TYPE_STRING, 'validate' => 'isColor'),
'logable' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),