From 555636280e030dba2592691bed1b69addc2eea2d Mon Sep 17 00:00:00 2001 From: Jagdish Panchal Date: Fri, 3 May 2013 16:20:29 +0530 Subject: [PATCH] [IMP] improve code in for mrp stock.py bzr revid: jap@tinyerp.com-20130503105029-d9eqs4curvxwuvra --- addons/mrp/mrp.py | 4 ---- addons/mrp/stock.py | 7 +++++++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/addons/mrp/mrp.py b/addons/mrp/mrp.py index 38c564961bd..d15aace7cae 100644 --- a/addons/mrp/mrp.py +++ b/addons/mrp/mrp.py @@ -840,9 +840,6 @@ class mrp_production(osv.osv): if not production.product_lines: if not self.action_compute(cr, uid, [production.id]): res = False - for componant in production.bom_id.bom_lines: - if componant.product_id.type == 'service' and not production.move_lines: - res=True return res def _get_auto_picking(self, cr, uid, production): @@ -985,7 +982,6 @@ class mrp_production(osv.osv): wf_service = netsvc.LocalService("workflow") uncompute_ids = filter(lambda x:x, [not x.product_lines and x.id or False for x in self.browse(cr, uid, ids, context=context)]) self.action_compute(cr, uid, uncompute_ids, context=context) - for production in self.browse(cr, uid, ids, context=context): shipment_id = self._make_production_internal_shipment(cr, uid, production, context=context) produce_move_id = self._make_production_produce_line(cr, uid, production, context=context) diff --git a/addons/mrp/stock.py b/addons/mrp/stock.py index a666fe8d4b6..79e9b0bcc73 100644 --- a/addons/mrp/stock.py +++ b/addons/mrp/stock.py @@ -164,6 +164,13 @@ class StockPicking(osv.osv): for move in move_obj.browse(cr, uid, move_ids): todo.extend(move_obj._action_explode(cr, uid, move)) return list(set(todo)) + + def test_cancel(self, cr, uid, ids, context=None): + res = super(StockPicking, self).test_cancel(cr, uid, ids, context=context) + for pick in self.browse(cr, uid, ids, context=context): + if not pick.move_lines: + return False + return res StockPicking()