From cd7d604b757d8f3d2004ec0cc2bc8b77d93df0a4 Mon Sep 17 00:00:00 2001 From: soufyan Date: Tue, 3 Sep 2013 14:38:35 +0200 Subject: [PATCH] [*] Project : Orders should rely only on ps_order_cart_rule --- classes/order/Order.php | 3 +-- classes/order/OrderCartRule.php | 6 +++++- classes/order/OrderSlip.php | 13 ------------- 3 files changed, 6 insertions(+), 16 deletions(-) diff --git a/classes/order/Order.php b/classes/order/Order.php index a4d4db1b0..42e5b42b0 100644 --- a/classes/order/Order.php +++ b/classes/order/Order.php @@ -712,11 +712,10 @@ class OrderCore extends ObjectModel } public function getCartRules() - { + { return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' SELECT * FROM `'._DB_PREFIX_.'order_cart_rule` ocr - LEFT JOIN `'._DB_PREFIX_.'cart_rule` cr ON cr.`id_cart_rule` = ocr.`id_cart_rule` WHERE ocr.`id_order` = '.(int)$this->id); } diff --git a/classes/order/OrderCartRule.php b/classes/order/OrderCartRule.php index 3eceb173d..dcc06203a 100644 --- a/classes/order/OrderCartRule.php +++ b/classes/order/OrderCartRule.php @@ -46,6 +46,9 @@ class OrderCartRuleCore extends ObjectModel /** @var float value (tax excl.) of voucher */ public $value_tax_excl; + + /** @var boolean value : voucher gives free shipping or not */ + public $free_shipping; /** * @see ObjectModel::$definition @@ -59,7 +62,8 @@ class OrderCartRuleCore extends ObjectModel 'id_order_invoice' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'), 'name' => array('type' => self::TYPE_STRING, 'validate' => 'isCleanHtml', 'required' => true), 'value' => array('type' => self::TYPE_FLOAT, 'validate' => 'isFloat', 'required' => true), - 'value_tax_excl' => array('type' => self::TYPE_FLOAT, 'validate' => 'isFloat', 'required' => true) + 'value_tax_excl' => array('type' => self::TYPE_FLOAT, 'validate' => 'isFloat', 'required' => true), + 'free_shipping' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool') ) ); diff --git a/classes/order/OrderSlip.php b/classes/order/OrderSlip.php index a9b38457d..527df4bb4 100644 --- a/classes/order/OrderSlip.php +++ b/classes/order/OrderSlip.php @@ -129,19 +129,6 @@ class OrderSlipCore extends ObjectModel { $products[$key] = $product; $products[$key]['product_quantity'] = $slip_quantity[$product['id_order_detail']]; - if (count($cart_rules)) - { - $order->setProductPrices($product); - $realProductPrice = $products[$key]['product_price']; - // Todo : must be updated to use the cart rules - foreach ($cart_rules as $cart_rule) - { - if ($cart_rule['reduction_percent']) - $products[$key]['product_price'] -= $realProductPrice * ($cart_rule['reduction_percent'] / 100); - elseif ($cart_rule['reduction_amount']) - $products[$key]['product_price'] -= (($cart_rule['reduction_amount'] * ($product['product_price_wt'] / $order->total_products_wt)) / (1.00 + ($product['tax_rate'] / 100))); - } - } } return $order->getProducts($products); }