kopia lustrzana https://github.com/wagtail/wagtail
Use LocaleMiddleware's language as fallback language for user profiles w/o prefferred language
Also includes setting "en" as explicit language for testspull/4923/head
rodzic
87da49bbb1
commit
b3f1f50fba
|
@ -38,6 +38,11 @@ def pytest_configure(config):
|
||||||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'wagtail.tests.settings')
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'wagtail.tests.settings')
|
||||||
django.setup()
|
django.setup()
|
||||||
|
|
||||||
|
# Activate a language: This affects HTTP header HTTP_ACCEPT_LANGUAGE sent by
|
||||||
|
# the Django test client.
|
||||||
|
from django.utils import translation
|
||||||
|
translation.activate("en")
|
||||||
|
|
||||||
from wagtail.tests.settings import MEDIA_ROOT, STATIC_ROOT
|
from wagtail.tests.settings import MEDIA_ROOT, STATIC_ROOT
|
||||||
shutil.rmtree(STATIC_ROOT, ignore_errors=True)
|
shutil.rmtree(STATIC_ROOT, ignore_errors=True)
|
||||||
shutil.rmtree(MEDIA_ROOT, ignore_errors=True)
|
shutil.rmtree(MEDIA_ROOT, ignore_errors=True)
|
||||||
|
|
|
@ -397,6 +397,9 @@ class TestAccountSection(TestCase, WagtailTestUtils):
|
||||||
# Check that the language preferences are stored
|
# Check that the language preferences are stored
|
||||||
self.assertEqual(profile.preferred_language, '')
|
self.assertEqual(profile.preferred_language, '')
|
||||||
|
|
||||||
|
# Check that the current language is assumed as English
|
||||||
|
self.assertEqual(profile.get_preferred_language(), "en")
|
||||||
|
|
||||||
@override_settings(WAGTAILADMIN_PERMITTED_LANGUAGES=[('en', 'English'), ('es', 'Spanish')])
|
@override_settings(WAGTAILADMIN_PERMITTED_LANGUAGES=[('en', 'English'), ('es', 'Spanish')])
|
||||||
def test_available_admin_languages_with_permitted_languages(self):
|
def test_available_admin_languages_with_permitted_languages(self):
|
||||||
self.assertListEqual(get_available_admin_languages(), [('en', 'English'), ('es', 'Spanish')])
|
self.assertListEqual(get_available_admin_languages(), [('en', 'English'), ('es', 'Spanish')])
|
||||||
|
|
|
@ -49,6 +49,8 @@ STATICFILES_FINDERS = (
|
||||||
|
|
||||||
USE_TZ = True
|
USE_TZ = True
|
||||||
|
|
||||||
|
LANGUAGE_CODE = "en"
|
||||||
|
|
||||||
TEMPLATES = [
|
TEMPLATES = [
|
||||||
{
|
{
|
||||||
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
||||||
|
@ -88,6 +90,7 @@ MIDDLEWARE = (
|
||||||
'django.middleware.common.CommonMiddleware',
|
'django.middleware.common.CommonMiddleware',
|
||||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||||
'django.middleware.csrf.CsrfViewMiddleware',
|
'django.middleware.csrf.CsrfViewMiddleware',
|
||||||
|
'django.middleware.locale.LocaleMiddleware',
|
||||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||||
'django.contrib.messages.middleware.MessageMiddleware',
|
'django.contrib.messages.middleware.MessageMiddleware',
|
||||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||||
|
|
|
@ -4,6 +4,7 @@ import uuid
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
from django.utils.translation import get_language
|
||||||
|
|
||||||
|
|
||||||
def upload_avatar_to(instance, filename):
|
def upload_avatar_to(instance, filename):
|
||||||
|
@ -63,7 +64,7 @@ class UserProfile(models.Model):
|
||||||
return cls.objects.get_or_create(user=user)[0]
|
return cls.objects.get_or_create(user=user)[0]
|
||||||
|
|
||||||
def get_preferred_language(self):
|
def get_preferred_language(self):
|
||||||
return self.preferred_language or settings.LANGUAGE_CODE
|
return self.preferred_language or get_language()
|
||||||
|
|
||||||
def get_current_time_zone(self):
|
def get_current_time_zone(self):
|
||||||
return self.current_time_zone or settings.TIME_ZONE
|
return self.current_time_zone or settings.TIME_ZONE
|
||||||
|
|
Ładowanie…
Reference in New Issue