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"
}'/>
-
+