diff --git a/addons/mrp/models/mrp_production.py b/addons/mrp/models/mrp_production.py
index 0ffb2dd4d76..d8b7ee57394 100644
--- a/addons/mrp/models/mrp_production.py
+++ b/addons/mrp/models/mrp_production.py
@@ -1195,11 +1195,15 @@ class MrpProduction(models.Model):
def button_unbuild(self):
self.ensure_one()
return {
- 'name': _('Unbuild'),
+ 'name': _('Unbuild: %s') % self.product_id.display_name,
'view_mode': 'form',
'res_model': 'mrp.unbuild',
- 'view_id': self.env.ref('mrp.mrp_unbuild_form_view').id,
+ 'view_id': self.env.ref('mrp.mrp_unbuild_form_view_simplified').id,
'type': 'ir.actions.act_window',
- 'context': {'default_mo_id': self.id, 'create': False, 'edit': False},
+ 'context': {'default_mo_id': self.id,
+ 'default_company_id': self.company_id.id,
+ 'default_location_id': self.location_dest_id.id,
+ 'default_location_dest_id': self.location_src_id.id,
+ 'create': False, 'edit': False},
'target': 'new',
}
diff --git a/addons/mrp/models/mrp_unbuild.py b/addons/mrp/models/mrp_unbuild.py
index 30d665a36bd..af5c26a8fa4 100644
--- a/addons/mrp/models/mrp_unbuild.py
+++ b/addons/mrp/models/mrp_unbuild.py
@@ -96,8 +96,10 @@ class MrpUnbuild(models.Model):
def _onchange_company_id(self):
if self.company_id:
warehouse = self.env['stock.warehouse'].search([('company_id', '=', self.company_id.id)], limit=1)
- self.location_id = warehouse.lot_stock_id
- self.location_dest_id = warehouse.lot_stock_id
+ if self.location_id.company_id != self.company_id:
+ self.location_id = warehouse.lot_stock_id
+ if self.location_dest_id.company_id != self.company_id:
+ self.location_dest_id = warehouse.lot_stock_id
else:
self.location_id = False
self.location_dest_id = False
diff --git a/addons/mrp/views/mrp_unbuild_views.xml b/addons/mrp/views/mrp_unbuild_views.xml
index aa95ba19e88..246b807ccd0 100644
--- a/addons/mrp/views/mrp_unbuild_views.xml
+++ b/addons/mrp/views/mrp_unbuild_views.xml
@@ -130,6 +130,45 @@
+
+
+ mrp.unbuild.form.simplified
+ mrp.unbuild
+
+
+
+
+
+
mrp.unbuild.tree
mrp.unbuild