Skip to content

Commit

Permalink
apps,settings: fix language cookie and del kyrgyz for ckeditor5
Browse files Browse the repository at this point in the history
  • Loading branch information
m4ra authored and goapunk committed Apr 9, 2024
1 parent c9d9ad8 commit a042cd5
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 12 deletions.
2 changes: 1 addition & 1 deletion adhocracy-plus/config/settings/base.py
Expand Up @@ -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",
Expand Down
12 changes: 7 additions & 5 deletions 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
Expand All @@ -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
Expand All @@ -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
Expand Down
4 changes: 2 additions & 2 deletions apps/users/__init__.py
Expand Up @@ -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)
5 changes: 1 addition & 4 deletions 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
7 changes: 7 additions & 0 deletions 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

0 comments on commit a042cd5

Please sign in to comment.