[damned-lies] Refs #216 - Ensured mail language override works with Chinese too
- From: Claude Paroz <claudep src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [damned-lies] Refs #216 - Ensured mail language override works with Chinese too
- Date: Sun, 21 Mar 2021 18:15:16 +0000 (UTC)
commit 46899d5a763ce41ce788b895fcacc1fc8fc8aa2b
Author: Claude Paroz <claude 2xlibre net>
Date: Sun Mar 21 19:15:00 2021 +0100
Refs #216 - Ensured mail language override works with Chinese too
vertimus/models.py | 7 +++++--
vertimus/tests/tests.py | 15 ++++++++++++++-
2 files changed, 19 insertions(+), 3 deletions(-)
---
diff --git a/vertimus/models.py b/vertimus/models.py
index 532d12d5..3dc51eda 100644
--- a/vertimus/models.py
+++ b/vertimus/models.py
@@ -9,7 +9,9 @@ from django.db.models import Max, Q
from django.db.models.signals import post_save, pre_delete
from django.dispatch import receiver
from django.urls import reverse
-from django.utils.translation import override, gettext, gettext_noop, gettext_lazy as _
+from django.utils.translation import (
+ override, gettext, gettext_noop, gettext_lazy as _, to_language
+)
from common.utils import run_shell_command, send_mail
from stats.models import Branch, Domain, Statistics, PoFile, UnableToCommit
@@ -551,7 +553,8 @@ class Action(ActionAbstract):
state.domain.name,
state.language.locale)))
subject = state.branch.module.name + ' - ' + state.branch.name
- with override(Language.django_locale(state.language.locale)):
+ # to_language may be unnecessary after https://code.djangoproject.com/ticket/32581 is solved
+ with override(to_language(Language.django_locale(state.language.locale))):
message = gettext("Hello,") + "\n\n" + gettext(self.default_message) + "\n%(url)s\n\n"
message = message % {
'module': state.branch.module.name,
diff --git a/vertimus/tests/tests.py b/vertimus/tests/tests.py
index e857c4e9..7e89dc7e 100644
--- a/vertimus/tests/tests.py
+++ b/vertimus/tests/tests.py
@@ -8,6 +8,7 @@ from xml.dom.minidom import parseString
from django.conf import settings
from django.core.files.base import File, ContentFile
from django.core.files.uploadedfile import SimpleUploadedFile
+from django.core.management import call_command
from django.core import mail
from django.http import QueryDict
from django.test import TestCase
@@ -15,8 +16,9 @@ from django.test.utils import override_settings
from django.urls import reverse
from django.utils.datastructures import MultiValueDict
+from languages.models import Language
from people.models import Person
-from teams.models import Role
+from teams.models import Role, Team
from teams.tests import TeamsAndRolesMixin
from stats.models import Module, Branch, Release, Category, CategoryName, Domain, Statistics
from stats.tests.tests import TestModuleBase
@@ -274,6 +276,17 @@ class VertimusTest(TeamsAndRolesMixin, TestCase):
self.assertIn("Hi again!", mail.outbox[0].body)
self.assertEqual(mail.outbox[0].extra_headers, {settings.EMAIL_HEADER_NAME: 'Inactive'})
+ def test_send_mail_translated(self):
+ team = Team.objects.create(name='zh', description='Chinese', mailing_list='zh example org')
+ zh_CN = Language.objects.create(name='Chinese', locale='zh_CN', team=team)
+ call_command('compile-trans', locale='zh_CN')
+
+ state = StateNone(branch=self.b, domain=self.d, language=zh_CN)
+ action = Action.new_by_name('WC', person=self.pn)
+ action.apply_on(state, {'send_to_ml': True, 'comment': "Comment"})
+ self.assertEqual(len(mail.outbox), 1)
+ self.assertIn("您好,", mail.outbox[0].body)
+
def test_action_rt(self):
state = StateNone(branch=self.b, domain=self.d, language=self.l)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]