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 @@ - + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + +