from odoo import models, fields, api, _, SUPERUSER_ID from odoo.exceptions import UserError, ValidationError class TableSettingWizard(models.TransientModel): _name = 'table.setting.wizard' _description = '初始化人员弹窗' financial_ids = fields.Many2many('sheet.collection.setting', string='财务数据表行') information_ids = fields.Many2many('summary.table.setting', string='信息汇总表行') employee_ids = fields.Many2many('hr.employee', string='员工') user_role_ids = fields.Many2many('soong.user.role', string="角色") @api.onchange('user_role_ids') def _onchange_user_role_ids(self): for rec in self: domain = ['|', ('user_role_id', 'in', rec.user_role_ids.ids), ('user_role_ids', 'in', rec.user_role_ids.ids)] new_employees = self.env['hr.employee'].search(domain) all_employees = rec.employee_ids | new_employees rec.employee_ids = all_employees def action_confirm(self): if self.financial_ids: for rec in self.financial_ids: rec.write({'employee_ids': [(6, 0, self.employee_ids.ids)]}) if self.information_ids: for rec in self.information_ids: rec.write({'employee_ids': [(6, 0, self.employee_ids.ids)]})