diff --git a/helpdesk_user_default_ticket_team/README.rst b/helpdesk_user_default_ticket_team/README.rst index 13b3f76..0d10945 100644 --- a/helpdesk_user_default_ticket_team/README.rst +++ b/helpdesk_user_default_ticket_team/README.rst @@ -18,6 +18,14 @@ default helpdesk team per user. It provides: * If the assigned team has a default project, the ticket is also linked to that project. +* Automatic user assignment when a team is selected: + + * When a team is set or changed on a ticket, if the current assigned user + is not a member of that team, the team leader (``team_id.user_id``) is + automatically assigned instead. + * If the team has no leader configured, the assigned user is left unchanged + (to avoid creating unassigned tickets). + This is particularly useful for multi-company or multi-team environments where portal users should always have their tickets routed to a specific team. diff --git a/helpdesk_user_default_ticket_team/models/helpdesk_ticket.py b/helpdesk_user_default_ticket_team/models/helpdesk_ticket.py index 7a90d10..dddd1fc 100644 --- a/helpdesk_user_default_ticket_team/models/helpdesk_ticket.py +++ b/helpdesk_user_default_ticket_team/models/helpdesk_ticket.py @@ -4,6 +4,14 @@ from odoo import api, models class HelpdeskTicket(models.Model): _inherit = "helpdesk.ticket" + @api.depends("team_id") + def _compute_user_id(self): + for ticket in self: + if ticket.team_id: + if ticket.user_id not in ticket.team_id.user_ids: + if ticket.team_id.user_id: + ticket.user_id = ticket.team_id.user_id + @api.model_create_multi def create(self, vals_list): for vals in vals_list: