Odoo 15 通知导航回 task/record

Odoo 15 notification navigate back to task/record

我正在尝试向用户 A 发送通知,然后用户 B 批准任务。 (但使用 odoobot 用户)

notification_ids = [(0,0,{'res_partner_id':user_id.partner_id.id,'notification_type':'inbox'})]

self.sudo().message_post(subject=summary,body=summary_link,message_type='notification, subtype_xmlid='mail.mt_comment', author_id=odoo_bot_id.partner_id.id, notification_ids=notification_ids)

它正在工作,但现在我要这样做:

ValueError:应在业务文档上发布消息。使用 message_notify 向用户发送通知。

if self._name == 'mail.thread' or not self.id or message_type == 'user_notification':
            raise ValueError(_('Posting a message should be done on a business document. Use message_notify to send a notification to an user.'))

not self.id是什么意思

根据这个我应该使用

message_notify_ids = [user_id.partner_id.id]

record.sudo().message_notify(partner_ids=message_notify_ids, parent_id=odoo_bot_id.partner_id.id, author_id=odoo_bot_id.partner_id.id,  body=summary_link, subject=summary)

这会显示弹出通知,但不会显示在索引中,因此用户可以导航到任务

Odoo Form

当我登录 self.id 时,我得到 NewId_26404 这是一个临时 ID,因为该函数在计算中是 运行。

修复

record = record if isinstance(record.id,int) else record._origin

注意:在我的案例中,放弃更改确实发送了通知,因此最好将其添加到写入函数中

如果有更好的解决方案,我愿意接受建议。谢谢。