diff --git a/addons/mrp/models/mrp_production.py b/addons/mrp/models/mrp_production.py
index a5559383e4e..1f574c1d24e 100644
--- a/addons/mrp/models/mrp_production.py
+++ b/addons/mrp/models/mrp_production.py
@@ -526,7 +526,7 @@ class MrpProduction(models.Model):
raw_moves = production.move_raw_ids.filtered(lambda x: x.state not in ('done', 'cancel'))
(finish_moves | raw_moves)._action_cancel()
- self.write({'state': 'cancel'})
+ self.write({'state': 'cancel', 'is_locked': True})
return True
def _cal_price(self, consumed_moves):
diff --git a/addons/mrp/views/mrp_production_views.xml b/addons/mrp/views/mrp_production_views.xml
index 0a714385fcd..b57b172ad4f 100644
--- a/addons/mrp/views/mrp_production_views.xml
+++ b/addons/mrp/views/mrp_production_views.xml
@@ -48,7 +48,7 @@
Raw materials not available!
-
+
diff --git a/addons/stock/models/stock_picking.py b/addons/stock/models/stock_picking.py
index 3aa0828bd86..2042241d5dd 100644
--- a/addons/stock/models/stock_picking.py
+++ b/addons/stock/models/stock_picking.py
@@ -539,6 +539,7 @@ class Picking(models.Model):
@api.multi
def action_cancel(self):
self.mapped('move_lines')._action_cancel()
+ self.is_locked = True
return True
@api.multi
diff --git a/addons/stock/views/stock_picking_views.xml b/addons/stock/views/stock_picking_views.xml
index 13f04bf9d57..b0f9cd95d38 100644
--- a/addons/stock/views/stock_picking_views.xml
+++ b/addons/stock/views/stock_picking_views.xml
@@ -217,7 +217,7 @@
-
+