[IMP] Simplify inheritance of states

This commit is contained in:
mreficent
2019-08-09 20:40:47 +02:00
committed by Kitti U
parent 543ddb53a7
commit 66f7049e40
2 changed files with 26 additions and 18 deletions

View File

@@ -7,10 +7,10 @@ from odoo.addons import decimal_precision as dp
from odoo.tools import float_compare from odoo.tools import float_compare
REQUEST_STATES = [ REQUEST_STATES = [
('draft', 'Draft'), ('draft', _('Draft')),
('open', 'In progress'), ('open', _('In progress')),
('done', 'Done'), ('done', _('Done')),
('cancel', 'Cancelled')] ('cancel', _('Cancelled'))]
class StockRequest(models.Model): class StockRequest(models.Model):
@@ -19,6 +19,12 @@ class StockRequest(models.Model):
_inherit = 'stock.request.abstract' _inherit = 'stock.request.abstract'
_order = 'id desc' _order = 'id desc'
def __get_request_states(self):
return REQUEST_STATES
def _get_request_states(self):
return self.__get_request_states()
def _get_default_requested_by(self): def _get_default_requested_by(self):
return self.env['res.users'].browse(self.env.uid) return self.env['res.users'].browse(self.env.uid)
@@ -36,10 +42,11 @@ class StockRequest(models.Model):
name = fields.Char( name = fields.Char(
states={'draft': [('readonly', False)]} states={'draft': [('readonly', False)]}
) )
state = fields.Selection(selection=REQUEST_STATES, string='Status', state = fields.Selection(
copy=False, default='draft', index=True, selection=_get_request_states, string='Status',
readonly=True, track_visibility='onchange', copy=False, default='draft', index=True,
) readonly=True, track_visibility='onchange',
)
requested_by = fields.Many2one( requested_by = fields.Many2one(
'res.users', 'Requested by', required=True, 'res.users', 'Requested by', required=True,
track_visibility='onchange', track_visibility='onchange',

View File

@@ -4,12 +4,6 @@
from odoo import api, fields, models, _ from odoo import api, fields, models, _
from odoo.exceptions import UserError, ValidationError, AccessError from odoo.exceptions import UserError, ValidationError, AccessError
REQUEST_STATES = [
('draft', 'Draft'),
('open', 'In progress'),
('done', 'Done'),
('cancel', 'Cancelled')]
class StockRequestOrder(models.Model): class StockRequestOrder(models.Model):
_name = 'stock.request.order' _name = 'stock.request.order'
@@ -29,6 +23,12 @@ class StockRequestOrder(models.Model):
res['location_id'] = warehouse.lot_stock_id.id res['location_id'] = warehouse.lot_stock_id.id
return res return res
def __get_request_order_states(self):
return self.env['stock.request']._get_request_states()
def _get_request_order_states(self):
return self.__get_request_order_states()
def _get_default_requested_by(self): def _get_default_requested_by(self):
return self.env['res.users'].browse(self.env.uid) return self.env['res.users'].browse(self.env.uid)
@@ -36,10 +36,11 @@ class StockRequestOrder(models.Model):
'Name', copy=False, required=True, readonly=True, 'Name', copy=False, required=True, readonly=True,
states={'draft': [('readonly', False)]}, states={'draft': [('readonly', False)]},
default='/') default='/')
state = fields.Selection(selection=REQUEST_STATES, string='Status', state = fields.Selection(
copy=False, default='draft', index=True, selection=_get_request_order_states,
readonly=True, track_visibility='onchange', string='Status', copy=False, default='draft', index=True,
) readonly=True, track_visibility='onchange',
)
requested_by = fields.Many2one( requested_by = fields.Many2one(
'res.users', 'Requested by', required=True, 'res.users', 'Requested by', required=True,
track_visibility='onchange', track_visibility='onchange',