diff --git a/helpdesk_user_default_ticket_team/models/helpdesk_ticket.py b/helpdesk_user_default_ticket_team/models/helpdesk_ticket.py index dddd1fc..dd7dd0e 100644 --- a/helpdesk_user_default_ticket_team/models/helpdesk_ticket.py +++ b/helpdesk_user_default_ticket_team/models/helpdesk_ticket.py @@ -7,10 +7,10 @@ class HelpdeskTicket(models.Model): @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 + ticket.user_id = self._define_user_id( + ticket.team_id, + ticket.user_id, + ) @api.model_create_multi def create(self, vals_list): @@ -35,4 +35,20 @@ class HelpdeskTicket(models.Model): if team.default_project_id: vals["project_id"] = team.default_project_id.id + # Set the user_id to which the ticket is assigned + user_id = self._define_user_id(team, None) + if user_id: + vals["user_id"] = user_id.id return super().create(vals_list) + + def _define_user_id(self, team_id=None, ticket_user_id=None): + if not team_id: + return ticket_user_id + + if not ticket_user_id: + return team_id.user_id + + if ticket_user_id not in team_id.user_ids: + return team_id.user_id + + return ticket_user_id