2222from openerp .tools .translate import _
2323from openerp .addons .magentoerpconnect import sale
2424from openerp .addons .connector .unit .mapper import mapping
25- from openerp .addons .magentoerpconnect .backend import magento
25+ from openerp .addons .magentoerpconnect .backend import magento , magento2000
2626from openerp .addons .connector_ecommerce .sale import SpecialOrderLineBuilder
2727from openerp .addons .connector_ecommerce .unit .sale_order_onchange import (
2828 SaleOrderOnChange )
@@ -39,6 +39,32 @@ def discount_amount(self, record):
3939 return {'discount' : 0 }
4040
4141
42+
43+ @magento2000 (replacing = sale .SaleOrderLineImportMapper2000 )
44+ class SaleOrderLineDiscountMapper2000 (sale .SaleOrderLineImportMapper2000 ):
45+ _model_name = 'magento.sale.order.line'
46+
47+ @mapping
48+ def discount_amount (self , record ):
49+ """Remove discount on lines"""
50+ super (SaleOrderLineDiscountMapper2000 , self ).discount_amount (record )
51+ return {'discount' : 0 }
52+
53+ @mapping
54+ def price (self , record ):
55+ """ tax key may not be present in magento2 when no taxes apply """
56+ result = {}
57+ base_price = float (record ['base_price' ] or 0. )
58+ base_price_incl_tax = float (
59+ record .get ('base_price_incl_tax' ) or base_price )
60+ qty_ordered = float (record ['qty_ordered' ])
61+ if self .options .tax_include :
62+ result ['price_unit' ] = base_price_incl_tax / qty_ordered
63+ else :
64+ result ['price_unit' ] = base_price / qty_ordered
65+ return result
66+
67+
4268@magento (replacing = sale .SaleOrderImportMapper )
4369class SaleOrderDiscountImportMapper (sale .SaleOrderImportMapper ):
4470 _model_name = 'magento.sale.order'
0 commit comments