Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
2 Răspunsuri
5301 Vizualizări

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?

Imagine profil
Abandonează
Cel mai bun răspuns

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?


Imagine profil
Abandonează
Autor Cel mai bun răspuns

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.

Imagine profil
Abandonează
Related Posts Răspunsuri Vizualizări Activitate
2
mai 24
4310
8
nov. 20
33614
0
nov. 20
2898
0
feb. 19
3371
0
feb. 18
4096