|
@@ -1,5 +1,6 @@
|
|
|
# -*- coding: utf-8 -*-
|
|
|
from openerp.http import request
|
|
|
+from openerp.tools import float_round
|
|
|
|
|
|
_MODEL = 'sale.order'
|
|
|
|
|
@@ -80,7 +81,11 @@ def create_sale_from_cart(partner_id, cart_items, date_confirm, currency_id, pay
|
|
|
product = request.env['product.product'].search([('id', '=', product_id)])
|
|
|
computed_price = from_currency.compute(price, to_currency)
|
|
|
|
|
|
- return 1.0 - (price / product.list_price)
|
|
|
+ discount = 1.0 - (computed_price / product.list_price)
|
|
|
+ precision = request.env['decimal.precision'].precision_get('Discount')
|
|
|
+
|
|
|
+ # return float_round(discount, precision)
|
|
|
+ return float_round(discount, precision) * 100
|
|
|
|
|
|
pricelist = get_pricelist(currency_id)
|
|
|
|
|
@@ -89,7 +94,7 @@ def create_sale_from_cart(partner_id, cart_items, date_confirm, currency_id, pay
|
|
|
'order_line': [[0, False, {
|
|
|
'product_id': int(line.get('id')),
|
|
|
'product_uom_qty': float(line.get('quantity')),
|
|
|
- 'price_unit': compute_cart_item_price(float(line.get('price')), currency_id),
|
|
|
+ 'price_unit': compute_cart_item_price(float(line.get('listPrice')), currency_id),
|
|
|
'discount': compute_cart_item_discount(float(line.get('price')), float(line.get('id')), currency_id)
|
|
|
}] for line in cart_items],
|
|
|
'picking_policy': 'direct',
|