From e2c7293bd0e2f92490a6ba91fc8ef46edd4f8bc6 Mon Sep 17 00:00:00 2001 From: Marc Durepos Date: Wed, 8 Nov 2023 10:12:39 -0500 Subject: [PATCH] Another attempt at single ticket per email. --- .../__manifest__.py | 2 +- .../models/mail_thread.py | 20 +++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/bemade_helpdesk_one_ticket_per_email/__manifest__.py b/bemade_helpdesk_one_ticket_per_email/__manifest__.py index f95f101..fee505a 100644 --- a/bemade_helpdesk_one_ticket_per_email/__manifest__.py +++ b/bemade_helpdesk_one_ticket_per_email/__manifest__.py @@ -24,7 +24,7 @@ 'author': 'Bemade Inc.', 'website': 'http://www.bemade.org', 'license': 'OPL-1', - 'depends': ['helpdesk'], + 'depends': ['mail'], 'data': [], 'installable': True, 'auto_install': False diff --git a/bemade_helpdesk_one_ticket_per_email/models/mail_thread.py b/bemade_helpdesk_one_ticket_per_email/models/mail_thread.py index 606bed8..d6276c1 100644 --- a/bemade_helpdesk_one_ticket_per_email/models/mail_thread.py +++ b/bemade_helpdesk_one_ticket_per_email/models/mail_thread.py @@ -1,17 +1,17 @@ from odoo import models, fields, api, _ +import logging + +_logger = logging.getLogger(__name__) class MailThread(models.AbstractModel): _inherit = 'mail.thread' @api.model - def message_route(self, message, message_dict, model=None, thread_id=None, custom_values=None): - res = super().message_route(message, message_dict, model, thread_id, custom_values) - main_route = None - for tuple in res: - if tuple[0] in ('helpdesk.team', 'helpdesk.ticket'): - if not main_route: - main_route = tuple - else: - res.remove(tuple) - return res + def _message_route_process(self, message, message_dict, routes): + helpdesk_routes = [r for r in routes if r[0] in ('helpdesk.ticket', 'helpdesk.team')] + if len(helpdesk_routes) > 1: + _logger.info("Messages contained multiple helpdesk routes. Only the first one will be used.") + helpdesk_routes.remove(0) + routes.remove(helpdesk_routes) + return super()._message_route_process(message, message_dict, routes)