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)
这会显示弹出通知,但不会显示在索引中,因此用户可以导航到任务
当我登录 self.id
时,我得到 NewId_26404
这是一个临时 ID,因为该函数在计算中是 运行。
修复
record = record if isinstance(record.id,int) else record._origin
注意:在我的案例中,放弃更改确实发送了通知,因此最好将其添加到写入函数中
如果有更好的解决方案,我愿意接受建议。谢谢。
我正在尝试向用户 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)
这会显示弹出通知,但不会显示在索引中,因此用户可以导航到任务
当我登录 self.id
时,我得到 NewId_26404
这是一个临时 ID,因为该函数在计算中是 运行。
修复
record = record if isinstance(record.id,int) else record._origin
注意:在我的案例中,放弃更改确实发送了通知,因此最好将其添加到写入函数中
如果有更好的解决方案,我愿意接受建议。谢谢。