mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 22:13:26 +00:00
send_email: Add support for passing language into send_future_email.
This adds language paramater to send_future_email. As a result, this properly internationalizes invitation reminder emails, by passing correct language into send_future_email. Fixes #11240.
This commit is contained in:
committed by
Tim Abbott
parent
b9f7b08af2
commit
254bf4c08f
@@ -267,6 +267,5 @@ def handle_digest_email(user_profile_id: int, cutoff: float,
|
||||
logger.info("Sending digest email for %s" % (user_profile.email,))
|
||||
# Send now, as a ScheduledEmail
|
||||
send_future_email('zerver/emails/digest', user_profile.realm, to_user_ids=[user_profile.id],
|
||||
from_name="Zulip Digest", from_address=FromAddress.NOREPLY,
|
||||
context=context)
|
||||
from_name="Zulip Digest", from_address=FromAddress.NOREPLY, context=context)
|
||||
return None
|
||||
|
||||
@@ -125,8 +125,8 @@ def send_email_from_dict(email_dict: Mapping[str, Any]) -> None:
|
||||
|
||||
def send_future_email(template_prefix: str, realm: Realm, to_user_ids: Optional[List[int]]=None,
|
||||
to_emails: Optional[List[str]]=None, from_name: Optional[str]=None,
|
||||
from_address: Optional[str]=None, context: Dict[str, Any]={},
|
||||
delay: datetime.timedelta=datetime.timedelta(0)) -> None:
|
||||
from_address: Optional[str]=None, language: Optional[str]=None,
|
||||
context: Dict[str, Any]={}, delay: datetime.timedelta=datetime.timedelta(0)) -> None:
|
||||
# WARNING: Be careful when using this with multiple recipients;
|
||||
# because the current ScheduledEmail model (used primarily for
|
||||
# cancelling planned emails) does not support multiple recipients,
|
||||
@@ -139,11 +139,12 @@ def send_future_email(template_prefix: str, realm: Realm, to_user_ids: Optional[
|
||||
# above problem is not relevant.
|
||||
template_name = template_prefix.split('/')[-1]
|
||||
email_fields = {'template_prefix': template_prefix, 'to_user_ids': to_user_ids, 'to_emails': to_emails,
|
||||
'from_name': from_name, 'from_address': from_address, 'context': context}
|
||||
'from_name': from_name, 'from_address': from_address, 'language': language,
|
||||
'context': context}
|
||||
|
||||
if settings.DEVELOPMENT_LOG_EMAILS:
|
||||
send_email(template_prefix, to_user_ids=to_user_ids, to_emails=to_emails, from_name=from_name,
|
||||
from_address=from_address, context=context)
|
||||
from_address=from_address, language=language, context=context)
|
||||
# For logging the email
|
||||
|
||||
assert (to_user_ids is None) ^ (to_emails is None)
|
||||
|
||||
@@ -234,6 +234,7 @@ class ConfirmationEmailWorker(QueueProcessingWorker):
|
||||
referrer.realm,
|
||||
to_emails=[invitee.email],
|
||||
from_address=FromAddress.tokenized_no_reply_address(),
|
||||
language=referrer.realm.default_language,
|
||||
context=context,
|
||||
delay=datetime.timedelta(days=2))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user