Skip to content

Commit

Permalink
rename attribute to preferred_language
Browse files Browse the repository at this point in the history
  • Loading branch information
jeriox committed Sep 30, 2023
1 parent cbdcfd9 commit 0293c9b
Show file tree
Hide file tree
Showing 7 changed files with 19 additions and 13 deletions.
2 changes: 1 addition & 1 deletion ephios/core/forms/users.py
Original file line number Diff line number Diff line change
Expand Up @@ -469,4 +469,4 @@ def update_preferences(self):
class UserOwnDataForm(ModelForm):
class Meta:
model = UserProfile
fields = ["language"]
fields = ["preferred_language"]
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Generated by Django 4.2.4 on 2023-09-24 21:56
# Generated by Django 4.2.4 on 2023-09-30 13:03

from django.db import migrations, models

Expand All @@ -11,12 +11,12 @@ class Migration(migrations.Migration):
operations = [
migrations.AddField(
model_name="userprofile",
name="language",
name="preferred_language",
field=models.CharField(
choices=[("de", "German"), ("en", "English")],
default="de",
max_length=10,
verbose_name="language",
verbose_name="preferred language",
),
),
migrations.AlterField(
Expand Down
7 changes: 5 additions & 2 deletions ephios/core/models/users.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,8 +111,11 @@ class UserProfile(guardian.mixins.GuardianUserMixin, PermissionsMixin, AbstractB
date_of_birth = DateField(_("date of birth"), null=True, blank=False)
phone = CharField(_("phone number"), max_length=254, blank=True, null=True)
calendar_token = CharField(_("calendar token"), max_length=254, default=secrets.token_urlsafe)
language = CharField(
_("language"), max_length=10, default=settings.LANGUAGE_CODE, choices=settings.LANGUAGES
preferred_language = CharField(
_("preferred language"),
max_length=10,
default=settings.LANGUAGE_CODE,
choices=settings.LANGUAGES,
)

USERNAME_FIELD = "email"
Expand Down
2 changes: 1 addition & 1 deletion ephios/core/services/notifications/backends.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ def send_all_notifications():
if backend.can_send(notification) and backend.user_prefers_sending(notification):
try:
if notification.user:
translation.activate(notification.user.language)
translation.activate(notification.user.preferred_language)
backend.send(notification)
except Exception as e: # pylint: disable=broad-except
if settings.DEBUG:
Expand Down
2 changes: 1 addition & 1 deletion ephios/core/views/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ def get_object(self, queryset=None):

def form_valid(self, form):
response = super().form_valid(form)
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, form.cleaned_data["language"])
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, form.cleaned_data["preferred_language"])
return response


Expand Down
12 changes: 7 additions & 5 deletions ephios/extra/middleware.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
from django.conf import settings
from django.middleware.locale import LocaleMiddleware


class EphiosLocaleMiddleware(LocaleMiddleware):
def process_response(self, request, response):
response = super().process_response(request, response)
class EphiosLocaleMiddleware:
def __init__(self, get_response):
self.get_response = get_response

def __call__(self, request):
response = self.get_response(request)
if settings.LANGUAGE_COOKIE_NAME not in request.COOKIES:
try:
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, request.user.language)
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, request.user.preferred_language)
except (KeyError, AttributeError):
pass
return response
1 change: 1 addition & 0 deletions ephios/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@
MIDDLEWARE = [
"django.middleware.security.SecurityMiddleware",
"django.contrib.sessions.middleware.SessionMiddleware",
"django.middleware.locale.LocaleMiddleware",
"ephios.extra.middleware.EphiosLocaleMiddleware",
"django.middleware.common.CommonMiddleware",
"django.middleware.csrf.CsrfViewMiddleware",
Expand Down

0 comments on commit 0293c9b

Please sign in to comment.