[IMP] helpdesk_user_default_ticket_team: auto-assign team leader on team change

In helpdesk_mgmt v16, ``_compute_user_id`` automatically filled
``user_id`` with ``team_id.alias_user_id`` when the team was set and
no user was assigned. This behaviour was removed in v18: the compute
now only clears ``user_id`` when the assigned user is not a member of
the selected team, without assigning anyone in its place.

This commit restores equivalent behaviour using ``team_id.user_id``
(the Team Leader field) instead of ``alias_user_id``:

- When ``team_id`` changes and the current ``user_id`` is not a member
  of the new team, the Team Leader is assigned automatically.
- If the team has no leader configured, ``user_id`` is left unchanged
  to avoid creating unassigned tickets.
- ``super()`` is not called: this is a full replacement of the v18
  OCA behaviour, not an extension of it.

Also updates README.rst to document the new auto-assignment behaviour.
This commit is contained in:
Stéphan Sainléger
2026-06-12 16:29:33 +02:00
parent 8aeb08ce14
commit a2b2256a17
2 changed files with 16 additions and 0 deletions

View File

@@ -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: