Public release from ruodoo-project: 19.0 - 2026-07-26 21:17:35 UTC
This commit is contained in:
27
directive_layer/models/res_users.py
Normal file
27
directive_layer/models/res_users.py
Normal file
@ -0,0 +1,27 @@
|
||||
from odoo import fields, models, api
|
||||
|
||||
class ResUsers(models.Model):
|
||||
_inherit = 'res.users'
|
||||
|
||||
@api.model_create_multi
|
||||
def create(self, vals_list):
|
||||
users = super().create(vals_list)
|
||||
for user in users:
|
||||
self._check_and_set_executor_home(user)
|
||||
return users
|
||||
|
||||
def write(self, vals):
|
||||
res = super().write(vals)
|
||||
if 'group_ids' in vals:
|
||||
for user in self:
|
||||
self._check_and_set_executor_home(user)
|
||||
return res
|
||||
|
||||
def _check_and_set_executor_home(self, user):
|
||||
executor_group = self.env.ref('directive_layer.role_directive_executor_res_groups', raise_if_not_found=False)
|
||||
dashboard_action = self.env.ref('directive_layer.action_executor_dashboard_client', raise_if_not_found=False)
|
||||
|
||||
if executor_group and dashboard_action:
|
||||
if user.has_group('directive_layer.role_directive_executor_res_groups'):
|
||||
if user.action_id != dashboard_action:
|
||||
user.sudo().write({'action_id': dashboard_action.id})
|
||||
Reference in New Issue
Block a user