From a13356b8598e35a3f43f99fe3e05de4de1c523c8 Mon Sep 17 00:00:00 2001 From: alfredoavanzosc Date: Wed, 29 Jul 2015 14:30:45 +0200 Subject: [PATCH] [IMP] mrp_bom_version: Show in tree buttons draft, activate, new version, and historical. Create _copy_bom, _update_bom_state_after_copy functions. [ADD] mrp_bom_new_version_when_component_change: Create a new version of BoM when are you going to change a component. --- mrp_bom_version/models/mrp_bom.py | 27 ++++++++++++++++---------- mrp_bom_version/views/mrp_bom_view.xml | 23 ++++++++++++++++++++++ 2 files changed, 40 insertions(+), 10 deletions(-) diff --git a/mrp_bom_version/models/mrp_bom.py b/mrp_bom_version/models/mrp_bom.py index 0abd28fa2..111391f8c 100644 --- a/mrp_bom_version/models/mrp_bom.py +++ b/mrp_bom_version/models/mrp_bom.py @@ -83,16 +83,8 @@ class MrpBom(models.Model): @api.multi def button_new_version(self): self.ensure_one() - new_bom = self.copy({ - 'version': self.version + 1, - 'active': True, - 'parent_bom': self.id, - }) - self.write({ - 'active': False, - 'state': 'historical', - 'historical_date': fields.Date.today(), - }) + new_bom = self._copy_bom() + self._update_bom_state_after_copy() return { 'type': 'ir.actions.act_window', 'view_type': 'form, tree', @@ -102,6 +94,21 @@ class MrpBom(models.Model): 'target': 'new', } + def _copy_bom(self): + new_bom = self.copy({ + 'version': self.version + 1, + 'active': True, + 'parent_bom': self.id, + }) + return new_bom + + def _update_bom_state_after_copy(self): + self.write({ + 'active': False, + 'state': 'historical', + 'historical_date': fields.Date.today(), + }) + @api.one def button_activate(self): self.write({ diff --git a/mrp_bom_version/views/mrp_bom_view.xml b/mrp_bom_version/views/mrp_bom_view.xml index f66cd9170..0acbb8b3c 100644 --- a/mrp_bom_version/views/mrp_bom_view.xml +++ b/mrp_bom_version/views/mrp_bom_view.xml @@ -26,6 +26,29 @@ +