32 lines
1.3 KiB
Python
32 lines
1.3 KiB
Python
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)]})
|
|
|
|
|