From dae3f0f3491aa6cd91ecd880ed808e5a6faafcbe Mon Sep 17 00:00:00 2001 From: "uco (OpenERP)" Date: Mon, 24 May 2010 14:49:56 +0530 Subject: [PATCH] [IMP] mrp: Task id_583: Set bom_lines visible/invisible according to multi_level_bom field. bzr revid: uco@tinyerp.com-20100524091956-t617a5yb1o0bz3fi --- addons/mrp/mrp.py | 18 +++++++++++++++++ addons/mrp/mrp_view.xml | 44 +++++++++++++++++++++-------------------- 2 files changed, 41 insertions(+), 21 deletions(-) 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 @@ - + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + +