Skip to Content
Menu
This question has been flagged
1 Reply
5204 Views

Can anyone provide me the sample code how to use message_post_with_view helper method and pass data to the template.

Avatar
Discard
Best Answer

Hello,

You can find this method code in odoo addons module. for eg. in mail thread module use below code


@api.multi
def message_post_with_view(self, views_or_xmlid, **kwargs):
""" Helper method to send a mail / post a message using a view_id to
render using the ir.qweb engine. This method is stand alone, because
there is nothing in template and composer that allows to handle
views in batch. This method should probably disappear when templates
handle ir ui views. """
values = kwargs.pop('values', None) or dict()
try:
from odoo.addons.http_routing.models.ir_http import slug
values['slug'] = slug
except ImportError:
values['slug'] = lambda self: self.id
if isinstance(views_or_xmlid, pycompat.string_types):
views = self.env.ref(views_or_xmlid, raise_if_not_found=False)
else:
views = views_or_xmlid
if not views:
return
for record in self:
values['object'] = record
rendered_template = views.render(values, engine='ir.qweb', minimal_qcontext=True)
kwargs['body'] = rendered_template
record.message_post_with_template(False, **kwargs)

Thanks

Avatar
Discard
Related Posts Replies Views Activity
4
Oct 21
4766
1
Dec 19
6724
1
Jun 24
8010
1
Mar 15
3571
5
Aug 24
42978