diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 3e07e49b59d..c9d042ac5a8 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -816,4 +816,17 @@ class sale_order_line(osv.osv): result['th_weight'] = result['product_uom_qty'] * product.weight return {'value': result, 'domain': domain} + def product_uom_change(self, cursor, user, ids, pricelist, product, qty=0, + uom=False, qty_uos=0, uos=False, name='', partner_id=False, + lang=False, update_tax=True, date_order=False): + res = self.product_id_change(cursor, user, ids, pricelist, product, + qty=0, uom=uom, qty_uos=qty_uos, uos=uos, name=name, + partner_id=partner_id, lang=lang, update_tax=update_tax, + date_order=date_order) + if 'product_uom' in res['value']: + del res['value']['product_uom'] + if not uom: + res['value']['price_unit'] = 0.0 + return res + sale_order_line() diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml index cd623c1b10a..91731c65023 100644 --- a/addons/sale/sale_view.xml +++ b/addons/sale/sale_view.xml @@ -95,7 +95,9 @@ on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, 'lang' in context and context['lang'], False, parent.date_order)" context="partner_id=parent.partner_id,quantity=product_uom_qty,pricelist=parent.pricelist_id,shop=parent.shop_id,uom=product_uom" select="1"/> - +