Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
5 Odpovědi
13311 Zobrazení

I'm trying to add some data that is not in the model. I'm trying to do that with the email_values dict in send_mail method from the mail_template model.

send_mail(self, res_id, force_send=False, raise_exception=False, email_values=None)

But I'm getting failed to render errors and email_values in undefined!

Can someone show me how to use the dict in the template? I'm trying to use it like ${email_values.get('dict_key')}

Avatar
Zrušit

I would recommand that you add your code here so that the community can check your dict values..

Autor

the values are not the problem. I'm using the standard send_mail() method from model mail.template. The xml template definition is a basic email template and I need to know how to reference the dict in the template, because it says the dict is undefined NOT it's values. So there's no need to post any code!

Well in that case, You call your template with reference (self.env.ref('...'))

Since it's this template that you want to change its values : template.write(your val dict)

Finally : template.send_mail(your_record_id, force_send=False, raise_exception=False)

Regards.

Autor

I know how to get templates and send them. The correct answer was that I can't do it the way I'm trying.

Autor Nejlepší odpověď

Mail templates can only use data from the specified model and with the models that are related with it. To pass some custom data it needs to be a dict passed trough context. 

template = self.env.ref('module.template_xml_id')
email_values = {'key': u'value'}
template.with_context(email_values).send_mail(self.id, email_values=None, email_from=None)
And getting the values in email template 
${ctx.get('key')}

Avatar
Zrušit

Then what's the point of `email_values` parameter in `send_mail`? How to use it properly to pass custom values to the template?

Autor

don't know. It works with a dict in with_context. Like I wrote in the answer. You can check the method in the mail addon.

Related Posts Odpovědi Zobrazení Aktivita
3
bře 23
7320
2
čvc 25
4201
2
pro 24
7448
2
lis 24
28129
2
kvě 24
7200