如何根据 Many2many 字段中选择的员工自动将关注者添加到任务中?

问题描述 投票:0回答:1

My Field's Image

我在project.task模型中有一个Many2many字段x_studio_many2many_field_Cv65K,链接到hr.employee。此字段允许选择员工作为任务的“执行者”。我希望在更新字段并保存任务时,将这些选定的员工自动添加为任务的关注者。

我尝试了以下代码,成功将员工添加为关注者,但没有发送通知电子邮件:

new_followers = self.x_studio_many2many_field_Cv65K.mapped(
    'user_id.partner_id'
).filtered(
    lambda x: x.id not in self.message_partner_ids.ids
).ids        

vals = [{
    'res_id': self.id, 
    'res_model': 'project.task',
    'partner_id': pid,  
} for pid in new_followers]

self.env['mail.followers'].create(vals)

如何确保添加关注者并向他们发送通知电子邮件?任何有关实现这一目标的正确方法或方法的建议将不胜感激!

odoo odoo-16
1个回答
0
投票

您可以使用

message_subscribe
方法将关注者添加到记录集。只需传递
res.partner
记录集 ID 列表,如下所示:

self.message_subscribe(partner_ids=partner_ids)

此处,

partner_ids
是您要添加为关注者的
res.partner
记录 ID 列表。

© www.soinside.com 2019 - 2024. All rights reserved.