diff --git a/musician/mixins.py b/musician/mixins.py index ba54587..6368467 100644 --- a/musician/mixins.py +++ b/musician/mixins.py @@ -1,6 +1,7 @@ from django.contrib.auth.mixins import UserPassesTestMixin from django.utils.translation import gettext_lazy as _ from django.views.generic.base import ContextMixin +from django.conf import settings from . import api, get_version from .auth import SESSION_KEY_TOKEN @@ -20,6 +21,7 @@ class CustomContextMixin(ContextMixin): context.update({ 'services_menu': services_menu, 'version': get_version(), + 'languages': settings.LANGUAGES, }) return context diff --git a/musician/templates/musician/base.html b/musician/templates/musician/base.html index 0f41767..bfe3258 100644 --- a/musician/templates/musician/base.html +++ b/musician/templates/musician/base.html @@ -68,7 +68,7 @@ - +
', views.profile_set_language, name='profile-set-lang'),
path('address/', views.MailView.as_view(), name='address-list'),
path('address/new/', views.MailCreateView.as_view(), name='address-create'),
path('address//', views.MailUpdateView.as_view(), name='address-update'),
diff --git a/musician/views.py b/musician/views.py
index 663f498..626f2c2 100644
--- a/musician/views.py
+++ b/musician/views.py
@@ -1,13 +1,11 @@
import logging
-from os import stat
import smtplib
from django.conf import settings
from django.contrib import messages
from django.core.exceptions import ImproperlyConfigured
from django.core.mail import mail_managers
-from django.http import HttpResponse, HttpResponseRedirect
-from django.shortcuts import render
+from django.http import HttpResponse, HttpResponseNotFound, HttpResponseRedirect
from django.urls import reverse_lazy
from django.utils import translation
from django.utils.html import format_html
@@ -20,7 +18,7 @@ from django.views.generic.edit import DeleteView, FormView
from django.views.generic.list import ListView
from requests.exceptions import HTTPError
-from . import api, get_version
+from . import get_version
from .auth import login as auth_login
from .auth import logout as auth_logout
from .forms import LoginForm, MailboxChangePasswordForm, MailboxCreateForm, MailboxUpdateForm, MailForm
@@ -85,7 +83,7 @@ class DashboardView(CustomContextMixin, UserTokenRequiredMixin, TemplateView):
def get_mailbox_usage(self, profile_type):
allowed_mailboxes = ALLOWED_RESOURCES[profile_type]['mailbox']
total_mailboxes = len(self.orchestra.retrieve_mailbox_list())
- mailboxes_left = allowed_mailboxes - total_mailboxes
+ mailboxes_left = allowed_mailboxes - total_mailboxes
alert = ''
if mailboxes_left < 0:
@@ -126,6 +124,23 @@ class ProfileView(CustomContextMixin, UserTokenRequiredMixin, TemplateView):
return context
+def profile_set_language(request, code):
+ # set user language as active language
+
+ if any(x[0] == code for x in settings.LANGUAGES):
+ # http://127.0.0.1:8080/profile/setLang/es
+ user_language = code
+ translation.activate(user_language)
+
+ response = HttpResponseRedirect('/dashboard')
+ response.set_cookie(settings.LANGUAGE_COOKIE_NAME, user_language)
+
+ return response
+ else:
+ response = HttpResponseNotFound('Languague not found')
+ return response
+
+
class ServiceListView(CustomContextMixin, ExtendedPaginationMixin, UserTokenRequiredMixin, ListView):
"""Base list view to all services"""
service_class = None
@@ -296,7 +311,6 @@ class MailingListsView(ServiceListView):
'title': _('Mailing lists'),
}
-
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
domain_id = self.request.GET.get('domain')