Before this commit odoobot was appearing twice in mention suggestions when talking to odoobot. The initial need to be able to ping odoobot from everywhere led to the override of channel_fetch_listeners. This is not usefull anymore. This fix simply removes this override to avoid this problem since we don't have a real use case where we need to ping odoobot in another channel. Task 1907142 closes odoo/odoo#28791
30 lines
1.3 KiB
Python
30 lines
1.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import api, models, _
|
|
|
|
|
|
class Channel(models.Model):
|
|
_inherit = 'mail.channel'
|
|
|
|
def _execute_command_help(self, **kwargs):
|
|
super(Channel, self)._execute_command_help(**kwargs)
|
|
self.env['mail.bot']._apply_logic(self, kwargs, command="help") # kwargs are not usefull but...
|
|
|
|
@api.model
|
|
def init_odoobot(self):
|
|
if self.env.user.odoobot_state == 'not_initialized':
|
|
partner = self.env.user.partner_id
|
|
odoobot_id = self.env['ir.model.data'].xmlid_to_res_id("base.partner_root")
|
|
channel = self.with_context({"mail_create_nosubscribe": True}).create({
|
|
'channel_partner_ids': [(4, partner.id), (4, odoobot_id)],
|
|
'public': 'private',
|
|
'channel_type': 'chat',
|
|
'email_send': False,
|
|
'name': 'OdooBot'
|
|
})
|
|
message = _("Hello,<br/>Odoo's chat helps employees collaborate efficiently. I'm here to help you discover its features.<br/><b>Try to send me an emoji :)</b>")
|
|
channel.sudo().message_post(body=message, author_id=odoobot_id, message_type="comment", subtype="mail.mt_comment")
|
|
self.env.user.odoobot_state = 'onboarding_emoji'
|
|
return channel
|