From 8f1393f3caf7ffd135cfd2a31488b3c6484c77d7 Mon Sep 17 00:00:00 2001 From: Jagdish Panchal Date: Wed, 15 May 2013 18:27:45 +0530 Subject: [PATCH] [IMP] Improve code when bom componant is service stock move in available state bzr revid: jap@tinyerp.com-20130515125745-da9sybl7osixzhfm --- addons/mrp/mrp.py | 5 ++--- addons/mrp/mrp_workflow.xml | 8 ++++++++ addons/mrp/stock.py | 2 ++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/addons/mrp/mrp.py b/addons/mrp/mrp.py index d15aace7cae..91b6a7a0798 100644 --- a/addons/mrp/mrp.py +++ b/addons/mrp/mrp.py @@ -647,6 +647,8 @@ class mrp_production(osv.osv): for (production_id,name) in self.name_get(cr, uid, ids): production = self.browse(cr, uid, production_id) + if not production.move_prod_id and not production.move_lines: + move_obj.write(cr, uid, [i.id for i in production.move_created_ids], {'state': 'assigned'}) if production.move_prod_id and production.move_prod_id.location_id.id != production.location_dest_id.id: move_obj.write(cr, uid, [production.move_prod_id.id], {'location_id': production.location_dest_id.id}) @@ -775,9 +777,6 @@ class mrp_production(osv.osv): for new_parent_id in new_parent_ids: stock_mov_obj.write(cr, uid, [raw_product.id], {'move_history_ids': [(4,new_parent_id)]}) wf_service = netsvc.LocalService("workflow") - for componant in production.bom_id.bom_lines: - if componant.product_id.type == 'service' and not production.move_lines and not production.move_lines2: - wf_service.trg_validate(uid, 'mrp.production', production_id, 'button_produce', cr) wf_service.trg_validate(uid, 'mrp.production', production_id, 'button_produce_done', cr) return True diff --git a/addons/mrp/mrp_workflow.xml b/addons/mrp/mrp_workflow.xml index 1c3e2ac6b1f..b57fe64158e 100644 --- a/addons/mrp/mrp_workflow.xml +++ b/addons/mrp/mrp_workflow.xml @@ -72,6 +72,14 @@ picking_id and picking_id.state=='done' + + + + + button_produce_done + not move_lines and test_production_done() + + diff --git a/addons/mrp/stock.py b/addons/mrp/stock.py index 59689bcc206..3ae8736641c 100644 --- a/addons/mrp/stock.py +++ b/addons/mrp/stock.py @@ -158,6 +158,8 @@ class StockMove(osv.osv): product_data = production_obj.browse(cr, uid, production_ids[0]) if product_data.move_created_ids2 and product_data.move_lines2 and move.state=='done': wf_service.trg_validate(uid, 'mrp.production', product_data.id, 'button_produce_done', cr) + elif not product_data.move_lines2 and move.state=='done': + wf_service.trg_validate(uid, 'mrp.production', product_data.id, 'button_produce_done', cr) return res StockMove()