diff --git a/mayan/apps/common/handlers.py b/mayan/apps/common/handlers.py index 5326d8a0bc..16e17156a7 100644 --- a/mayan/apps/common/handlers.py +++ b/mayan/apps/common/handlers.py @@ -9,14 +9,17 @@ from .models import UserLocaleProfile def user_locale_profile_session_config(sender, request, user, **kwargs): user_locale_profile, created = UserLocaleProfile.objects.get_or_create(user=user) - timezone.activate(user_locale_profile.timezone) - translation.activate(user_locale_profile.language) + if not created and user_locale_profile.timezone and user_locale_profile.language: + # Don't try to set locale preferences for new users or existing users + # that have not set any preferences + timezone.activate(user_locale_profile.timezone) + translation.activate(user_locale_profile.language) - if hasattr(request, 'session'): - request.session[translation.LANGUAGE_SESSION_KEY] = user_locale_profile.language - request.session['django_timezone'] = user_locale_profile.timezone - else: - request.set_cookie(settings.LANGUAGE_COOKIE_NAME, user_locale_profile.language) + if hasattr(request, 'session'): + request.session[translation.LANGUAGE_SESSION_KEY] = user_locale_profile.language + request.session['django_timezone'] = user_locale_profile.timezone + else: + request.set_cookie(settings.LANGUAGE_COOKIE_NAME, user_locale_profile.language) def user_locale_profile_create(sender, instance, created, **kwargs):