36 lines
1.0 KiB
Python
36 lines
1.0 KiB
Python
from odoo import fields, models
|
|
|
|
|
|
class RoleAddUsersWizard(models.TransientModel):
|
|
_name = "role.add.users.wizard"
|
|
_description = "Wizard to add multiple users to a role"
|
|
|
|
role_id = fields.Many2one(
|
|
comodel_name="res.users.role",
|
|
required=True,
|
|
ondelete="cascade",
|
|
)
|
|
user_ids = fields.Many2many(
|
|
comodel_name="res.users",
|
|
string="Users",
|
|
required=True,
|
|
)
|
|
date_from = fields.Date("From")
|
|
date_to = fields.Date("To")
|
|
|
|
def action_add_users(self):
|
|
existing_users = self.role_id.line_ids.user_id
|
|
new_users = self.user_ids - existing_users
|
|
self.env["res.users.role.line"].create(
|
|
[
|
|
{
|
|
"role_id": self.role_id.id,
|
|
"user_id": user.id,
|
|
"date_from": self.date_from,
|
|
"date_to": self.date_to,
|
|
}
|
|
for user in new_users
|
|
]
|
|
)
|
|
return {"type": "ir.actions.act_window_close"}
|