Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odpovědět
4152 Zobrazení
I try to write to Chatter Box, but I have the below error:
ValueError: Posting a message should be done on a business document. Use message_notify to send a notification to an user.

My code:
@api.onchange("my_field")
def write_to_chatter(self):
​body = "My Message!"
   self.message_post(body=body, subtype='my_subtype')

Sources:

Add Message To Chatter From Code in Odoo

Cybrosys || How To Post A Message To Chatter In Odoo 16


Avatar
Zrušit
Autor Nejlepší odpověď

Solved:

I used the write() method, I post a log note when the user saves their data.
def write(self, vals):
        if 'name' in vals:
            new_value = vals['name']
            old_value = self.name.id
            if new_value != old_value:
                message_body = _("%(user)s changed the Name to %(user_name)s",
                                 user=self.env.user.name,
                                 user_name=self.env['my.module'].search(domain=[('id', '=', new_value)]).name)
                self.message_post(body=message_body, message_type='notification')
        res = super().write(vals)
        return res
Avatar
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
1
čvc 23
3063
4
čvn 25
7902
2
říj 24
7003
2
zář 24
4755
2
bře 24
2816