mirror of https://github.com/OCA/social.git
27 lines
1018 B
Python
27 lines
1018 B
Python
from odoo import http
|
|
from odoo.http import request
|
|
|
|
from odoo.addons.mail.controllers.bus import MailChatController
|
|
from odoo.addons.mail.controllers.main import MailController
|
|
|
|
|
|
class NewMailController(MailController):
|
|
@http.route("/mail/init_messaging", type="json", auth="user")
|
|
def mail_init_messaging(self):
|
|
result = super().mail_init_messaging()
|
|
result["broker_slots"] = request.env["mail.broker"].broker_fetch_slot()
|
|
return result
|
|
|
|
|
|
class NewMailChatController(MailChatController):
|
|
def _poll(self, dbname, channels, last, options):
|
|
if request.session.uid:
|
|
if request.env.user.has_group("mail_broker.broker_user"):
|
|
channels = list(channels)
|
|
for channel in request.env["mail.channel"].search(
|
|
[("public", "=", "broker")]
|
|
):
|
|
channels.append((request.db, "mail.channel", channel.id))
|
|
result = super()._poll(dbname, channels, last, options)
|
|
return result
|