Use language of recipient

This commit is contained in:
Jannis Portmann 2023-09-08 13:41:01 +02:00
parent de0ed1725e
commit a95af0e48f

View file

@ -1,14 +1,15 @@
from django.core.mail import EmailMessage, EmailMultiAlternatives
from django.urls import reverse
from django.template.loader import render_to_string
from django.utils.translation import gettext_lazy as _
from django.utils.translation import activate, get_language, gettext_lazy as _
def send_offer_email(request, offer, sender_user, recipient_user):
activate(recipient_user.language_code)
html_content = render_to_string('user/trade/offer_email.html',
{'request': request, 'offer': offer, 'sender_user': sender_user, 'recipient_user': recipient_user})
plain_text = get_offer_text(request, offer, sender_user, recipient_user)
message = EmailMultiAlternatives(
f'{sender_user.username} {_("wants to trade")}',
plain_text,
@ -21,6 +22,8 @@ def send_offer_email(request, offer, sender_user, recipient_user):
message.send()
activate(sender_user.language_code)
def get_offer_text(request, offer, sender_user, recipient_user):
return f"{_('Hello')} {recipient_user.username},\n\n{sender_user.username} {_('is interested in')} {offer.title}!\n\n{_('Checkout their offers')}: {request.scheme}://{request.get_host()}{reverse('user_detail', args=[sender_user.id])}\n\n{_('Contact')} {sender_user.username}, {_('by replying to this mail')}."