diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 84f3bb0212a..32ac3d8e1af 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -227,6 +227,12 @@ class sale_order(osv.osv): return 'sale.mt_order_sent' return super(sale_order, self)._track_subtype(cr, uid, ids, init_values, context=context) + def onchange_pricelist_id(self, cr, uid, ids, pricelist_id, order_lines, context=None): + if not pricelist_id: + return {} + pricelist = self.pool['product.pricelist'].browse(cr, uid, pricelist_id, context=context) + return {'value': {'currency_id': pricelist.currency_id.id}} + def get_salenote(self, cr, uid, ids, partner_id, context=None): context_lang = context.copy() if partner_id: diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml index dbf975d75e9..78f01b19b4c 100644 --- a/addons/sale/sale_view.xml +++ b/addons/sale/sale_view.xml @@ -170,7 +170,7 @@ - + diff --git a/addons/website_sale/models/sale_order.py b/addons/website_sale/models/sale_order.py index ccf3277ecfa..aeb8803a4ea 100644 --- a/addons/website_sale/models/sale_order.py +++ b/addons/website_sale/models/sale_order.py @@ -315,6 +315,7 @@ class website(orm.Model): # update the pricelist if update_pricelist: values = {'pricelist_id': pricelist_id} + values.update(sale_order.onchange_pricelist_id(pricelist_id, None)['value']) sale_order.write(values) for line in sale_order.order_line: if line.exists():