diff --git a/addons/mrp/wizard/mrp_track_prod.py b/addons/mrp/wizard/mrp_track_prod.py index 11e1ec32ec6..43929b47dc7 100644 --- a/addons/mrp/wizard/mrp_track_prod.py +++ b/addons/mrp/wizard/mrp_track_prod.py @@ -56,33 +56,35 @@ class mrp_track_move(osv.osv_memory): """ res = super(mrp_track_move, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False) record_id = context and context.get('active_id', False) or False - if record_id: - prod_obj = self.pool.get('mrp.production') - prod = prod_obj.browse(cr, uid, record_id) - try: - if prod.state != 'done': - res['arch'] = '''
- ''' - else: - arch_lst = ['') - res['arch'] = '\n'.join(arch_lst) - except Exception,e: - return res + active_model = context.get('active_model') + + if not record_id or (active_model and active_model != 'mrp.production'): + return res + + prod_obj = self.pool.get('mrp.production') + prod = prod_obj.browse(cr, uid, record_id) + if prod.state != 'done': + res['arch'] = ''' + ''' + else: + arch_lst = ['') + res['arch'] = '\n'.join(arch_lst) + return res def track_lines(self, cr, uid, ids, context): diff --git a/addons/mrp_repair/wizard/cancel_repair.py b/addons/mrp_repair/wizard/cancel_repair.py index 371b7ba82e3..ecc88ef6aae 100644 --- a/addons/mrp_repair/wizard/cancel_repair.py +++ b/addons/mrp_repair/wizard/cancel_repair.py @@ -57,23 +57,24 @@ class repair_cancel(osv.osv_memory): @param context: A standard dictionary @return: New arch of view. """ - record_id = context and context.get('active_id', False) or False res = super(repair_cancel, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False) - if record_id: - try: - repair_order = self.pool.get('mrp.repair').browse(cr, uid, record_id) - if not repair_order.invoiced: - res['arch'] = """ - """ - except: - return res + record_id = context and context.get('active_id', False) or False + active_model = context.get('active_model') + + if not record_id or (active_model and active_model != 'mrp.repair'): + return res + + repair_order = self.pool.get('mrp.repair').browse(cr, uid, record_id) + if not repair_order.invoiced: + res['arch'] = """ + """ return res repair_cancel()