Files
odoo_source/addons/stock/models/res_users.py
T
Yannick Tivisse 99f497b390 [IMP] *: Define groups on res.users models
The reified view on the res users will be dropped in the following commit.

The previous commit adds support to define each group as a computed field on the res users.

This commit defines:
- A boolean field for each 'isolated' res.group, i.e. a group in the hidden category.
- A selection field for each 'Application' res.group, i.e. a group in a application category.

Example:
- The group to manage pricelist in sales becomes a boolean field
- The groups project user/manager become a selection field
2018-04-26 15:13:38 +02:00

49 lines
1.9 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResUsers(models.Model):
_inherit = 'res.users'
has_group_stock_multi_locations = fields.Boolean(
'Manage Multiple Stock Locations',
compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='stock.group_stock_multi_locations')
has_group_stock_multi_warehouses = fields.Boolean(
'Manage Multiple Warehouses',
compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='stock.group_stock_multi_warehouses')
has_group_production_lot = fields.Boolean(
'Manage Lots / Serial Numbers',
compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='stock.group_production_lot')
has_group_tracking_lot = fields.Boolean(
'Manage Packages',
compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='stock.group_tracking_lot')
has_group_adv_location = fields.Boolean(
'Manage Push and Pull inventory flows',
compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='stock.group_adv_location')
has_group_tracking_owner = fields.Boolean(
'Manage Different Stock Owners',
compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='stock.group_tracking_owner')
has_group_warning_stock = fields.Boolean(
'A warning can be set on a partner (Stock)',
compute='_compute_groups_id', inverse='_inverse_groups_id',
group_xml_id='stock.group_warning_stock')
group_stock_user = fields.Selection(
selection=lambda self: self._get_group_selection('base.module_category_warehouse_management'),
string='Inventory', compute='_compute_groups_id', inverse='_inverse_groups_id',
category_xml_id='base.module_category_warehouse_management')