diff --git a/addons/website_sale/models/sale_order.py b/addons/website_sale/models/sale_order.py index 17bc507bb42..c2d3373e1d1 100644 --- a/addons/website_sale/models/sale_order.py +++ b/addons/website_sale/models/sale_order.py @@ -123,10 +123,16 @@ class sale_order(osv.Model): class website(orm.Model): _inherit = 'website' + def _get_pricelist_id(self, cr, uid, ids, name, args, context=None): + res = {} + pricelist = self.get_current_pricelist(cr, uid, context=context) + for data in self.browse(cr, uid, ids, context=context): + res[data.id] = pricelist.id + return res + _columns = { - 'pricelist_id': fields.related( - 'user_id', 'partner_id', 'property_product_pricelist', - type='many2one', relation='product.pricelist', string='Default Pricelist'), + 'pricelist_id': fields.function(_get_pricelist_id,\ + type='many2one', relation="product.pricelist", string='Default Pricelist'), 'currency_id': fields.related( 'pricelist_id', 'currency_id', type='many2one', relation='res.currency', string='Default Currency'), @@ -180,7 +186,7 @@ class website(orm.Model): """ isocountry = request.session.geoip and request.session.geoip.get('country_code') or False pl_ids = self._get_pl(cr, uid, isocountry, show_visible, - request.website.pricelist_id.id, + request.website.user_id.partner_id.property_product_pricelist.id, request.session.get('website_sale_current_pl'), request.website.website_pricelist_ids) return self.pool['product.pricelist'].browse(cr, uid, pl_ids, context=context) diff --git a/addons/website_sale/tests/test_website_sale_pricelist.py b/addons/website_sale/tests/test_website_sale_pricelist.py index 9981544f68f..159d8f599e5 100644 --- a/addons/website_sale/tests/test_website_sale_pricelist.py +++ b/addons/website_sale/tests/test_website_sale_pricelist.py @@ -11,6 +11,7 @@ class TestWebsitePriceList(TransactionCase): def setUp(self): super(TestWebsitePriceList, self).setUp() self.website = self.registry('website').browse(self.cr, self.uid, 1) + self.website.pricelist_id = self.registry('ir.model.data').xmlid_to_res_id(self.cr, self.uid, 'product.list0') self.patcher = patch('openerp.addons.website_sale.models.sale_order.website.get_pricelist_available', wraps=self._get_pricelist_available) self.mock_get_pricelist_available = self.patcher.start() diff --git a/addons/website_sale/views/templates.xml b/addons/website_sale/views/templates.xml index d2d3ea81367..68e2910fc81 100644 --- a/addons/website_sale/views/templates.xml +++ b/addons/website_sale/views/templates.xml @@ -93,16 +93,16 @@ - + @@ -423,16 +423,16 @@ t-field-options='{ "widget": "monetary", "from_currency": "product.company_id.currency_id", - "display_currency": "user_id.partner_id.property_product_pricelist.currency_id" + "display_currency": "website.currency_id" }'/> - +

@@ -481,7 +481,7 @@ @@ -501,7 +501,7 @@ @@ -776,12 +776,12 @@ t-field="line.product_id.lst_price" t-field-options='{ "widget": "monetary", "from_currency": "line.company_id.currency_id", - "display_currency": "user_id.partner_id.property_product_pricelist.currency_id" + "display_currency": "website.currency_id" }'/> @@ -898,12 +898,12 @@ t-field="product.lst_price" t-field-options='{ "widget": "monetary", "from_currency": "product.company_id.currency_id", - "display_currency": "user_id.partner_id.property_product_pricelist.currency_id" + "display_currency": "website.currency_id" }'/> @@ -1153,7 +1153,7 @@ @@ -1394,7 +1394,7 @@ @@ -1404,7 +1404,7 @@ @@ -1414,7 +1414,7 @@