为什么我的私人频道在Odoo 10中总是空的?

时间:2018-05-07 10:14:19

标签: odoo odoo-10

问题

讨论菜单中,您可以看到您的聊天记录。它们分组为:

  • 频道。
  • 直接留言。
  • 私人频道。

如果我去任何频道并写任何东西,我可以看到我刚刚写的东西(就像可以阅读该频道的人一样)。这是正常行为,它应该与其他两个类别相同。但是,如果我在私人频道或发送直接消息时执行相同的操作,屏幕仍为空:我看不到我刚才写的内容以及收到消息的人。

我尝试解决这个问题

我将标准频道与私人频道进行了比较,两者的用户配置相同。

我检查过longpolling端口,但我认为这不是问题所在,因为如果是这样,那么没有任何频道可以工作。

我还更新了basemail模块,没有结果。

老实说,我不知道该怎么做,这发生在一个特定的服务器上,在其他一些我一切正常。我试图比较所有,但它花了我很长时间,所以任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

最后,我找到了解决方案:

每次创建新频道或向任何用户(聊天)发送直接消息时,都会在mail_channel表格中生成记录。如果激活技术设置,可以通过界面查看它们,然后转到设置>技术>电子邮件>信道

在此模型中,有一个名为message_followers_ids的字段,它是指向模型mail.followers的One2many。

我的问题(由于我安装的第三方模块)导致频道创建时没有关注者,因此消息未显示。

例如,我创建了一个名为test的新私人频道。创建它时,会在mail.channelmail.followers模型中创建一条记录,但它们之间没有链接(它是在没有关注者的情况下创建的),因此,当我写一条消息时,我不是'能够看到它,看看mail.followers记录:

  id  | partner_id | channel_id |        res_model         | res_id 
------+------------+------------+--------------------------+--------
 1037 |            |            | mail.channel             |     

但是,我已将mail.followers中创建的记录添加到频道的message_followers_ids字段中:

  id  | partner_id | channel_id |        res_model         | res_id 
------+------------+------------+--------------------------+--------
 1037 |            |         65 | mail.channel             |     65

在此之后,它再次开始正常工作。

作为一个好奇心,如果您有另一个名为replica的频道,并且您将其设置为test频道的关注者,则test中写入的每条消息都会显示在replica,但不是相反。