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()