access_restriction_by_user/models/mrp_production.py

25 lines
1012 B
Python

from odoo import models, fields, api
class MrpProduction(models.Model):
_inherit = 'mrp.production'
restrict_quality_check_button = fields.Boolean(compute='_compute_restrict_quality_check_button')
@api.depends_context('uid')
def _compute_restrict_quality_check_button(self):
user = self.env.user
for production in self:
is_inventory_user = user.has_group('stock.group_stock_user')
is_mrp_user = user.has_group('mrp.group_mrp_user')
is_mrp_manager = user.has_group('mrp.group_mrp_manager')
is_restricted_role = is_inventory_user or is_mrp_user or is_mrp_manager
is_quality_manager = user.has_group('quality.group_quality_manager')
is_system = user.has_group('base.group_system')
if is_restricted_role and not (is_quality_manager or is_system):
production.restrict_quality_check_button = True
else:
production.restrict_quality_check_button = False