如何在odoo 9中查看旧消息?

时间:2016-04-26 08:42:50

标签: openerp odoo-9

在odoo 8中有一个名为archives的菜单,其中显示了阅读消息,但在odoo 9中没有这样的东西。
有没有人知道如何使用过滤器查看已读消息或使其成为可能。同样发送头像也没有显示。

4 个答案:

答案 0 :(得分:1)

查看ODOO9中的消息完成以下步骤:

  1. 激活开发者模式
  2. 转到设置 - >技术 - >电子邮件 - > Message
  3. 消息菜单中,您可以找到所有消息的列表。

    希望这可以帮助你。

答案 1 :(得分:0)

从我的观点来看,归档功能/字段不再出现在odoo v9中。在Odoo 8中,该字段被称为“to_read'”。不知何故,阅读邮件在V9中被取消链接,但我不知道如何。其他人也不知道: https://www.odoo.com/de_DE/forum/hilfe-1/question/odoo-9-archives-messages-92788

答案 2 :(得分:0)

我自己做了一些研究。我找到了一种方法来将邮件保留在收件箱文件夹中但隐藏了。这是我的方法。

我在mail.message中创建了一个活动字段和自定义过滤器,并覆盖了set_message_done方法,如下所示。

@api.multi
def set_message_done(self, partner_ids=None):
    """ Remove the needaction from messages for the current partner. """
    partner_id = self.env.user.partner_id
    self.active = False
    messages = self.filtered(lambda msg: partner_id in msg.needaction_partner_ids)
    if not len(messages):
        return
    #messages.sudo().write({'needaction_partner_ids': [(3, partner_id.id)]})
    # notifies changes in messages through the bus.  To minimize the number of
    # notifications, we need to group the messages depending on their channel_ids
    groups = []
    current_channel_ids = messages[0].channel_ids
    current_group = []
    for record in messages:
        if record.channel_ids == current_channel_ids:
            current_group.append(record.id)
        else:
            groups.append((current_group, current_channel_ids))
            current_group = [record.id]
            current_channel_ids = record.channel_ids

    groups.append((current_group, current_channel_ids))
    current_group = [record.id]
    current_channel_ids = record.channel_ids

    for (msg_ids, channel_ids) in groups:
        notification = {'type': 'mark_as_read', 'message_ids': msg_ids, 'channel_ids': [c.id for c in channel_ids]}
        self.env['bus.bus'].sendone((self._cr.dbname, 'res.partner', partner_id.id), notification)

摘要:我评论写行并添加self.active = false。所以该方法将隐藏消息而不是删除它。但仍然有消息未读计数泡沫。

然后我覆盖res.partner中的get_needaction_count并添加一个简单的逻辑。

@api.model
def get_needaction_count(self):
    """ compute the number of needaction of the current user """
    if self.env.user.partner_id:
        id = []
        active_msg = self.env['mail.message'].search([('active','=',True)])
        for x in active_msg:
            for rec in x.partner_ids:
                id += [rec.id]
        if self.env.user.partner_id in id:
            return len(active_msg)
    _logger.error('Call to needaction_count without partner_id')
    return 0

答案 3 :(得分:0)

最后有一个模块可以归档归档: https://www.odoo.com/apps/modules/9.0/mail_archives/ 但不是免费的!

请注意: It-Projects LLC还有其他新模块用于改进odoo 9中的邮件/消息传递。