social/mail_tracking/controllers/discuss.py

29 lines
998 B
Python

# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import http
from odoo.addons.mail.controllers.discuss import DiscussController
class MailTrackingDiscussController(DiscussController):
@http.route()
def mail_init_messaging(self, **kwargs):
"""Route used to initial values of Discuss app"""
values = super().mail_init_messaging(**kwargs)
values.update(
{"failed_counter": http.request.env["mail.message"].get_failed_count()}
)
return values
@http.route("/mail/failed/messages", methods=["POST"], type="json", auth="user")
def discuss_failed_messages(self, max_id=None, min_id=None, limit=30, **kwargs):
return (
http.request.env["mail.message"]
._message_fetch(
domain=[("is_failed_message", "=", True)],
max_id=max_id,
min_id=min_id,
limit=limit,
)
.message_format()
)