This question has been flagged
2 Replies
13736 Views

I wanted to send the notification to the user or group of the user, within odoo in the notification icon (near the activities) after the record is created or something is edited in the record. How can I achieve that, if anyone has done this please help me with some suggestion?

Avatar
Discard
Best Answer

hello Bhuwan,

To send  the notification you can do like this in your code.

            class name:
           _inherit = 'mail.thread'

    code:
        self.env['mail.message'].create({'message_type':"notification",
                "subtype": self.env.ref("mail.mt_comment").id,
                'body': "Message body",
                'subject': "Message subject",
                'needaction_partner_ids': [(4, self.user_id.partner_id.id)],
                'model': self._name,
                'res_id': self.id,
                }
Avatar
Discard
Author

will you tell me what I have to do before writing this code?

You need to define condition on which mail to be send

Can this be used in web portal to show notification to portal user ? If so, kindly let me know how?

Best Answer

Try This work with me to send an inbox message to the user

if users:
notification_ids = [(0, 0,
{
'res_partner_id': user.partner_id.id,
'notification_type': 'inbox'
}
)
for user in users if users]

self.env['mail.message'].create({
'message_type': "notification",
'body': "Your Body",
'subject': "Your Subject",
'partner_ids': [(4, user.partner_id.id) for user in users if users],
'model': self._name,
'res_id': self.id,
'notification_ids': notification_ids,
'author_id': self.env.user.partner_id and self.env.user.partner_id.id
})


Avatar
Discard