diff --git a/addons/mrp/mrp.py b/addons/mrp/mrp.py
index 966572f772c..b3ced960cbe 100644
--- a/addons/mrp/mrp.py
+++ b/addons/mrp/mrp.py
@@ -248,6 +248,24 @@ class mrp_bom(osv.osv):
return {'value': v}
return {}
+ def onchange_multi_level_bom(self, cr, uid, ids, multi_level_bom, context={}):
+ """ Changes UoM and name if product_id changes.
+ @param name: Name of the field
+ @param product_id: Changed product_id
+ @return: Dictionary of changed values
+ """
+ value = {}
+ bom_ids = ids and ids[0]
+ bom = self.browse(cr, uid, bom_ids)
+ line_ids = bom and map(lambda x:x.id, bom.bom_lines)
+ value['bom_lines'] = line_ids
+ if multi_level_bom:
+ self.write(cr, uid, line_ids, {'multi_level_bom': multi_level_bom})
+ return {'value': value}
+ else:
+ self.write(cr, uid, line_ids, {'multi_level_bom': multi_level_bom})
+ return {'value': {}}
+
def _bom_find(self, cr, uid, product_id, product_uom, properties=[]):
""" Finds BoM for particular product and product uom.
@param product_id: Selected product.
diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml
index 02841b64b03..581330ae655 100644
--- a/addons/mrp/mrp_view.xml
+++ b/addons/mrp/mrp_view.xml
@@ -254,30 +254,32 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+