From e280239eefdcd5e3151d79ad8ba70a9fe8a1135f Mon Sep 17 00:00:00 2001 From: mreficent Date: Fri, 9 Aug 2019 20:40:47 +0200 Subject: [PATCH] [IMP] Simplify inheritance of states --- stock_request_submit/models/stock_request.py | 24 ++++++++----------- .../models/stock_request_order.py | 14 +---------- 2 files changed, 11 insertions(+), 27 deletions(-) diff --git a/stock_request_submit/models/stock_request.py b/stock_request_submit/models/stock_request.py index 32b9ddc21..26b670733 100644 --- a/stock_request_submit/models/stock_request.py +++ b/stock_request_submit/models/stock_request.py @@ -1,26 +1,22 @@ # Copyright 2019 Open Source Integrators # Copyright 2019 Eficent Business and IT Consulting Services, S.L. # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). -from odoo import api, fields, models - -REQUEST_STATES = [ - ('draft', 'Draft'), - ('submitted', 'Submitted'), - ('open', 'In progress'), - ('done', 'Done'), - ('cancel', 'Cancelled')] +from odoo import api, fields, models, _ class StockRequest(models.Model): _inherit = 'stock.request' - state = fields.Selection(selection=REQUEST_STATES, string='Status', - copy=False, default='draft', index=True, - readonly=True, track_visibility='onchange', - ) + def __get_request_states(self): + states = super().__get_request_states() + if not ('submitted', _('Submitted')) in states: + states.insert( + states.index(('draft', _('Draft'))) + 1, + ('submitted', _('Submitted'))) + return states + route_id = fields.Many2one(states={'draft': [('readonly', False)], - 'submitted': [('readonly', False)]}, - readonly=True) + 'submitted': [('readonly', False)]}) @api.multi def action_submit(self): diff --git a/stock_request_submit/models/stock_request_order.py b/stock_request_submit/models/stock_request_order.py index 0a0a4b41b..fa4fefbf2 100644 --- a/stock_request_submit/models/stock_request_order.py +++ b/stock_request_submit/models/stock_request_order.py @@ -1,24 +1,12 @@ # Copyright 2019 Open Source Integrators # Copyright 2019 Eficent Business and IT Consulting Services, S.L. # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). -from odoo import api, fields, models - -REQUEST_STATES = [ - ('draft', 'Draft'), - ('submitted', 'Submitted'), - ('open', 'In progress'), - ('done', 'Done'), - ('cancel', 'Cancelled')] +from odoo import api, models class StockRequestOrder(models.Model): _inherit = 'stock.request.order' - state = fields.Selection(selection=REQUEST_STATES, string='Status', - copy=False, default='draft', index=True, - readonly=True, track_visibility='onchange', - ) - @api.multi def action_submit(self): for line in self.stock_request_ids: