mirror of
https://github.com/OCA/stock-logistics-warehouse.git
synced 2025-01-21 14:27:28 +02:00
[IMP] Simplify inheritance of states
This commit is contained in:
@@ -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',
|
||||||
|
|||||||
@@ -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',
|
||||||
|
|||||||
Reference in New Issue
Block a user