Another attempt at single ticket per email.

This commit is contained in:
Marc Durepos 2023-11-08 10:12:39 -05:00
parent c7a11c8a08
commit e2c7293bd0
2 changed files with 11 additions and 11 deletions

View file

@ -24,7 +24,7 @@
'author': 'Bemade Inc.', 'author': 'Bemade Inc.',
'website': 'http://www.bemade.org', 'website': 'http://www.bemade.org',
'license': 'OPL-1', 'license': 'OPL-1',
'depends': ['helpdesk'], 'depends': ['mail'],
'data': [], 'data': [],
'installable': True, 'installable': True,
'auto_install': False 'auto_install': False

View file

@ -1,17 +1,17 @@
from odoo import models, fields, api, _ from odoo import models, fields, api, _
import logging
_logger = logging.getLogger(__name__)
class MailThread(models.AbstractModel): class MailThread(models.AbstractModel):
_inherit = 'mail.thread' _inherit = 'mail.thread'
@api.model @api.model
def message_route(self, message, message_dict, model=None, thread_id=None, custom_values=None): def _message_route_process(self, message, message_dict, routes):
res = super().message_route(message, message_dict, model, thread_id, custom_values) helpdesk_routes = [r for r in routes if r[0] in ('helpdesk.ticket', 'helpdesk.team')]
main_route = None if len(helpdesk_routes) > 1:
for tuple in res: _logger.info("Messages contained multiple helpdesk routes. Only the first one will be used.")
if tuple[0] in ('helpdesk.team', 'helpdesk.ticket'): helpdesk_routes.remove(0)
if not main_route: routes.remove(helpdesk_routes)
main_route = tuple return super()._message_route_process(message, message_dict, routes)
else:
res.remove(tuple)
return res