diff --git a/addons/product_visible_discount/product_visible_discount.py b/addons/product_visible_discount/product_visible_discount.py
index c2f939c1618..2571855ec89 100644
--- a/addons/product_visible_discount/product_visible_discount.py
+++ b/addons/product_visible_discount/product_visible_discount.py
@@ -40,7 +40,8 @@ class sale_order_line(osv.osv):
def product_id_change(self, cr, uid, ids, pricelist, product, qty=0,
uom=False, qty_uos=0, uos=False, name='', partner_id=False,
- lang=False, update_tax=True,date_order=False,packaging=False,fiscal_position=False, flag=False):
+ lang=False, update_tax=True, date_order=False, packaging=False,
+ fiscal_position=False, flag=False, context=None):
def get_real_price(res_dict, product_id, qty, uom, pricelist):
item_obj = self.pool.get('product.pricelist.item')
@@ -70,7 +71,7 @@ class sale_order_line(osv.osv):
res=super(sale_order_line, self).product_id_change(cr, uid, ids, pricelist, product, qty,
uom, qty_uos, uos, name, partner_id,
- lang, update_tax,date_order,fiscal_position=fiscal_position,flag=flag)
+ lang, update_tax, date_order, fiscal_position=fiscal_position, flag=flag, context=context)
context = {'lang': lang, 'partner_id': partner_id}
result=res['value']
diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index 06bdbf44a10..ad79506f8a8 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -1024,7 +1024,7 @@ class sale_order_line(osv.osv):
if flag:
res = self.product_id_change(cr, uid, ids, pricelist=pricelist,
product=product, qty=qty, uom=uom, partner_id=partner_id,
- packaging=packaging, flag=False)
+ packaging=packaging, flag=False, context=context)
warning_msgs = res.get('warning') and res['warning']['message']
products = product_obj.browse(cr, uid, product, context=context)
diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml
index 72314f945da..d191cd3553f 100644
--- a/addons/sale/sale_view.xml
+++ b/addons/sale/sale_view.xml
@@ -142,7 +142,7 @@
diff --git a/addons/sale_layout/sale_layout_view.xml b/addons/sale_layout/sale_layout_view.xml
index 407d15a5c04..c4e20b979ab 100644
--- a/addons/sale_layout/sale_layout_view.xml
+++ b/addons/sale_layout/sale_layout_view.xml
@@ -38,7 +38,7 @@
name="product_packaging"
attrs="{'readonly':[('layout_type','!=','article')]}"
context="{'partner_id':parent.partner_id,'quantity':product_uom_qty,'pricelist':parent.pricelist_id,'shop':parent.shop_id,'uom':product_uom}"
- on_change="product_packaging_change(parent.pricelist_id, product_id, product_uom_qty, product_uom, parent.partner_id, product_packaging, True)"
+ on_change="product_packaging_change(parent.pricelist_id, product_id, product_uom_qty, product_uom, parent.partner_id, product_packaging, True, context)"
domain="[('product_id','=',product_id)]"
groups="base.group_extended"/>
diff --git a/addons/warning/warning.py b/addons/warning/warning.py
index ab7a5926653..e5bdf07aef3 100644
--- a/addons/warning/warning.py
+++ b/addons/warning/warning.py
@@ -197,7 +197,7 @@ class sale_order_line(osv.osv):
def product_id_change(self, cr, uid, ids, pricelist, product, qty=0,
uom=False, qty_uos=0, uos=False, name='', partner_id=False,
lang=False, update_tax=True, date_order=False, packaging=False,
- fiscal_position=False, flag=False):
+ fiscal_position=False, flag=False, context=None):
warning = {}
if not product:
return {'value': {'th_weight' : 0, 'product_packaging': False,
@@ -218,7 +218,7 @@ class sale_order_line(osv.osv):
result = super(sale_order_line, self).product_id_change( cr, uid, ids, pricelist, product, qty,
uom, qty_uos, uos, name, partner_id,
- lang, update_tax, date_order, packaging, fiscal_position, flag)
+ lang, update_tax, date_order, packaging, fiscal_position, flag, context=context)
if result.get('warning',False):
warning['title'] = title and title +' & '+result['warning']['title'] or result['warning']['title']