diff --git a/adhocracy-plus/config/settings/base.py b/adhocracy-plus/config/settings/base.py index c473856cb..e57462279 100644 --- a/adhocracy-plus/config/settings/base.py +++ b/adhocracy-plus/config/settings/base.py @@ -558,7 +558,7 @@ CKEDITOR_5_USER_LANGUAGE = True CKEDITOR_5_CONFIGS = { "default": { - "language": ["de", "en", "nl", "ky", "ru"], + "language": ["de", "en", "nl", "ru"], "toolbar": [ "bold", "italic", diff --git a/apps/account/views.py b/apps/account/views.py index 44965faa6..082957969 100644 --- a/apps/account/views.py +++ b/apps/account/views.py @@ -1,3 +1,4 @@ +from django.conf import settings from django.contrib.auth.mixins import LoginRequiredMixin from django.contrib.messages.views import SuccessMessageMixin from django.db import transaction @@ -20,7 +21,6 @@ class AccountView(RedirectView): class ProfileUpdateView(LoginRequiredMixin, SuccessMessageMixin, generic.UpdateView): - model = User template_name = "a4_candy_account/profile.html" form_class = forms.ProfileForm @@ -33,16 +33,18 @@ def get_success_url(self): return self.request.path def form_valid(self, form): - set_session_language( - self.request.user.email, form.cleaned_data["language"], self.request - ) + set_session_language(self.request.user.email, form.cleaned_data["language"]) return super(ProfileUpdateView, self).form_valid(form) + def render_to_response(self, context, **response_kwargs): + response = super().render_to_response(context, **response_kwargs) + response.set_cookie(settings.LANGUAGE_COOKIE_NAME, self.request.user.language) + return response + class OrganisationTermsOfUseUpdateView( LoginRequiredMixin, SuccessMessageMixin, generic.UpdateView ): - model = User template_name = "a4_candy_account/user_agreements.html" form_class = forms.OrganisationTermsOfUseForm diff --git a/apps/users/__init__.py b/apps/users/__init__.py index 3977ad403..0dd778816 100644 --- a/apps/users/__init__.py +++ b/apps/users/__init__.py @@ -12,10 +12,10 @@ ) -def set_language(sender, user, request, **kwargs): +def set_language(sender, user, **kwargs): from .utils import set_session_language - set_session_language(user, None, request) + set_session_language(user, None) user_logged_in.connect(set_language) diff --git a/apps/users/utils.py b/apps/users/utils.py index c7553766b..0b4c956af 100644 --- a/apps/users/utils.py +++ b/apps/users/utils.py @@ -1,12 +1,9 @@ -from django.utils.translation import LANGUAGE_SESSION_KEY from django.utils.translation import activate from .models import User -def set_session_language(user_email, language=None, request=None): +def set_session_language(user_email, language=None): if not language: language = User.objects.get(email=user_email).language activate(language) - if hasattr(request, "session"): - request.session[LANGUAGE_SESSION_KEY] = language diff --git a/changelog/0003.md b/changelog/0003.md new file mode 100644 index 000000000..defe493f6 --- /dev/null +++ b/changelog/0003.md @@ -0,0 +1,7 @@ +### Removed + +- kyrgyz translation for ckeditor + +### Fixed + +- language setting as a cookie instead of session key according to django deprecation