跳至内容
菜单
此问题已终结
2 回复
5285 查看

Hello,

I'm trying to send an email with a certain template which begin like this (I added the partner in the context to be able to access it in the template)

Hello ${ctx['partner'].title.name or ''} ${ctx['partner'].firstname or ''} ${ctx['partner'].lastname or ''},

and the language field is set up with 

${ctx['partner'].lang or ''}

My problem is that if the contact language is not in english, the email is correctly translated but the the title still appear in English. I checked and the translation is correctly set up for the title name. Is there a way to access the translation of the term through the template?

形象
丢弃
最佳答案

It seems that you consruct 'ctx' under a user with different language rather than your partner language (e.g under the superuser).

Try something like:

ctx['partner'].with_context(lang=ctx['partner'].lang).title.name

By the way, why do you pass partner in context? Is there no way to retrieve it from a related object?


形象
丢弃
编写者 最佳答案

Thank you! This indeed solve the problem. Concerning the partner, the related object only contains a list of partners and I couldn't find a way to determine which one I was sending the mail to. The template and the code that send the email were written by someone else and I didn't want to change how it was called from fear of breaking something else.

形象
丢弃
相关帖文 回复 查看 活动
2
5月 24
4290
8
11月 20
33584
0
11月 20
2871
0
2月 19
3354
0
2月 18
4077