diff -r c4e5bb735ec1 -r 33a413910b75 src/p4l/models/user.py --- a/src/p4l/models/user.py Thu Sep 05 13:09:57 2013 +0200 +++ b/src/p4l/models/user.py Thu Sep 05 13:25:32 2013 +0200 @@ -6,8 +6,9 @@ ''' from django.conf import settings from django.contrib.auth.models import AbstractUser +from django.contrib.auth.signals import user_logged_in from django.db import models -from p4l.models.common import P4lModel +from django.dispatch.dispatcher import receiver class User(AbstractUser): language = models.CharField(max_length=2, default=settings.LANGUAGE_CODE[:2]) @@ -15,3 +16,9 @@ class Meta: app_label = 'p4l' +@receiver(user_logged_in) +def lang(sender, **kwargs): + user = kwargs.get('user', None) + request = kwargs.get('request', None) + if user and request: + request.session['django_language'] = user.language or settings.LANGUAGE_CODE[:2]