添加功能

This commit is contained in:
李鹏宇
2026-01-09 16:58:22 +08:00
parent e06187703b
commit 055323de9f
2 changed files with 34 additions and 1 deletions
@@ -254,6 +254,32 @@ class YuthonHrEmployee(models.Model):
('divorced', 'Divorced')
], string='Marital Status', groups="hr.group_hr_user", default='single', tracking=True)
def update_role_group_ids(self):
employee_ids = self.env["hr.employee"].browse(
self._context.get("active_ids", self._context.get("active_id"))
)
for employee in employee_ids:
employee._onchange_user_roles()
@api.onchange('user_role_id', 'user_role_ids')
def _onchange_user_roles(self):
selected_role_ids = []
if self.user_role_id:
selected_role_ids.append(self.user_role_id.id)
if self.user_role_ids:
selected_role_ids += self.user_role_ids.ids
if not selected_role_ids:
self.role_group_ids = [(5,)]
return
role_groups = self.env['soong.user.role.group'].search([
('user_role_ids', 'in', selected_role_ids)
])
if role_groups:
self.role_group_ids = [(6, 0, role_groups.ids)]
else:
self.role_group_ids = [(5,)]
def update_trade_union(self):
records = self.env['hr.employee'].search([('is_membership', '=', True)])
for record in records:
@@ -148,7 +148,7 @@
</xpath>
<xpath expr="//field[@name='department_id']" position="after">
<field name="department_ids" widget="many2many_tags"/>
<field name="role_group_ids" column_invisible="1"/>
<field name="role_group_ids" column_invisible="1" widget="many2many_tags"/>
</xpath>
<xpath expr="//field[@name='bank_account_id']" position="attributes">
<attribute name="invisible">1</attribute>
@@ -694,6 +694,13 @@
<field name="state">code</field>
<field name="code">action = model.action_hr_state()</field>
</record>
<record id="all_update_role_group" model="ir.actions.server">
<field name="name">更新员工角色组</field>
<field name="model_id" ref="hr.model_hr_employee"/>
<field name="binding_model_id" ref="hr.model_hr_employee"/>
<field name="state">code</field>
<field name="code">action = model.update_role_group_ids()</field>
</record>
<!-- <record id="view_employee_form_inherit_hr_attendance" model="ir.ui.view">-->
<!-- <field name="name">hr.employee.attendance.form</field>-->