28 lines
1.0 KiB
Python
28 lines
1.0 KiB
Python
# -*- coding: utf-8 -*-
|
|
from odoo import api, fields, models
|
|
|
|
|
|
class YuthonHrEmployee(models.Model):
|
|
_inherit = "hr.employee"
|
|
|
|
user_role_ids_changed = fields.Boolean(compute='_compute_user_roles')
|
|
|
|
@api.depends('user_role_ids')
|
|
def _compute_user_roles(self):
|
|
group_mapping = {
|
|
'党支委议题': 'group_party_topic',
|
|
'班子会议题': 'group_team_topic',
|
|
'董事会议题': 'group_board_topic',
|
|
'议题管理员': 'group_topic_admin',
|
|
}
|
|
old_users_ids = self.user_role_ids
|
|
for employee in self:
|
|
for role in employee.user_role_ids:
|
|
group_id = group_mapping.get(role.name)
|
|
if group_id:
|
|
group = self.env.ref('yuthon_issue.' + group_id, raise_if_not_found=False)
|
|
if group:
|
|
# 未知因素屏蔽选择值
|
|
group.write({'users': [(4, employee.user_id.id)]})
|
|
self.user_role_ids = old_users_ids
|
|
self.user_role_ids_changed = True |