Files
public/directive_layer/models/res_users.py

27 lines
1.0 KiB
Python

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})