odoo 消息

1
2
3
4
5
6
7
8
9
10
11
12
13
# def click_created(self):
#     sender = self.env['res.partner'].browse(2)
#     receiver = self.env['res.partner'].browse(6)
#     message = self.env['mail.message'].create({
#            'subject': '测试消息标题',
#            'body': '消息体',
#            'author_id': sender.id,
#            'partner_ids': [(4, receiver.id)]
#        })
#     thread = receiver.message_ids
#     x = thread.write({'message_id': [(4, message.id)]})
#     print(x)
#     print(dir(x))

  

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
def click_created(self):
    # sending message
    id = self.env.user.id
    sender = self.env['res.partner'].browse(id)
    receiverobj = self.env['res.partner'].search([('name', '=', 'manager')], limit=1)
    receiver = self.env['res.partner'].browse(receiverobj.id)
    print(sender.name,'|||||', receiver.name)
    try:
        print('sender id', sender.id)
        print('receiver id id', receiver.id)
        channel_odoo_bot_users = '%s, %s' % (sender.name, receiver.name)
        channel_obj = self.env['mail.channel']
        channel_id = channel_obj.search([('name', 'like', channel_odoo_bot_users)])
        print(channel_id)
        print(dir(channel_id))
        if not channel_id:
            channel_id = channel_obj.create({
                'name': channel_odoo_bot_users,
                # 'email_send': False,
                'channel_type': 'chat',
                # 'public': 'private',
                # 'channel_partner_ids': [(4, sender.id), (4, receiver.id)]
                'channel_partner_ids': [(4, receiver.id)]
            })
        channel_id.message_post(
            subject="Timesheet reminder",
            body="测试发消息啊...",
            message_type = 'comment',
            subtype_xmlid='mail.mt_comment',
        )
    except Exception as e:
        print(e)

  

posted @   CrossPython  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2019-05-13 Flutter:教你用CustomPaint画一个自定义的CircleProgressBar
2019-05-13 Flutter裁剪图片
2019-05-13 Flutter 实现图片裁剪
2019-05-13 soundpool
2019-05-13 声音
2019-05-13 Flutter Image(图片)
点击右上角即可分享
微信分享提示