diff options
Diffstat (limited to 'addons/sale_stock/models/res_users.py')
| -rw-r--r-- | addons/sale_stock/models/res_users.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/addons/sale_stock/models/res_users.py b/addons/sale_stock/models/res_users.py new file mode 100644 index 00000000..e1498ba2 --- /dev/null +++ b/addons/sale_stock/models/res_users.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import models, fields + + +class Users(models.Model): + _inherit = ['res.users'] + + property_warehouse_id = fields.Many2one('stock.warehouse', string='Default Warehouse', company_dependent=True, check_company=True) + + def _get_default_warehouse_id(self): + if self.property_warehouse_id: + return self.property_warehouse_id + # !!! Any change to the following search domain should probably + # be also applied in sale_stock/models/sale_order.py/_init_column. + return self.env['stock.warehouse'].search([('company_id', '=', self.env.company.id)], limit=1) + + def __init__(self, pool, cr): + """ Override of __init__ to add access rights. + Access rights are disabled by default, but allowed + on some specific fields defined in self.SELF_{READ/WRITE}ABLE_FIELDS. + """ + + sale_stock_writeable_fields = [ + 'property_warehouse_id', + ] + + init_res = super().__init__(pool, cr) + # duplicate list to avoid modifying the original reference + type(self).SELF_READABLE_FIELDS = type(self).SELF_READABLE_FIELDS + sale_stock_writeable_fields + type(self).SELF_WRITEABLE_FIELDS = type(self).SELF_WRITEABLE_FIELDS + sale_stock_writeable_fields + return init_res |
