src/ldt/ldt/user/models.py
changeset 169 64f24f8841ec
parent 155 73ce005c4727
child 172 0c7a63b623c7
equal deleted inserted replaced
168:4d3a3ea5225c 169:64f24f8841ec
     1 from django.contrib import admin
     1 from django.contrib import admin
       
     2 from django.db import models
       
     3 from django.conf import settings
     2 from django.contrib.auth.models import User, UserManager
     4 from django.contrib.auth.models import User, UserManager
     3 import datetime
     5 import datetime
     4 
       
     5             
     6             
     6 class Ldt(User):
     7 class Ldt(User):
     7 #    irigroups = models.ManyToManyField(IriGroup, blank=True)
     8 #    irigroups = models.ManyToManyField(IriGroup, blank=True)
     8     
     9     
     9     class Meta:
    10     class Meta:
    16 
    17 
    17 class LdtManager(UserManager):
    18 class LdtManager(UserManager):
    18     def create_user(self, username, email, password=None):
    19     def create_user(self, username, email, password=None):
    19         "Creates and saves a User with the given username, e-mail and password."
    20         "Creates and saves a User with the given username, e-mail and password."
    20         now = datetime.datetime.now()
    21         now = datetime.datetime.now()
    21         user = Ldt(None, username, '', '', email.strip().lower(), 'placeholder', False, True, False, now, now)
    22         new_user = Ldt(None, username, '', '', email.strip().lower(), 'placeholder', False, True, False, now, now)
    22         if password:
    23         if password:
    23             user.set_password(password)
    24             new_user.set_password(password)
    24         else:
    25         else:
    25             user.set_unusable_password()
    26             new_user.set_unusable_password()
    26         user.save()
    27         new_user.save()
    27         return user   
    28         UserProfile.objects.create(user=new_user)
       
    29         return new_user  
       
    30     
       
    31     
       
    32 class UserProfile (models.Model): 
       
    33     user = models.OneToOneField(User)
       
    34     language = models.CharField(max_length=2, default='fr')
       
    35     
       
    36     
       
    37 def get_or_create_profile(user):
       
    38     try:
       
    39         profile = user.get_profile()
       
    40     except UserProfile.DoesNotExist:
       
    41         profile = UserProfile(user=user)
       
    42         profile.save()
       
    43     return profile
    28 
    44 
       
    45    
    29 User.objects = LdtManager()
    46 User.objects = LdtManager()
    30 User.objects.contribute_to_class(User, "objects")
    47 User.objects.contribute_to_class(User, "objects")
    31 
    48 
    32 admin.site.register(Ldt)
    49 admin.site.register(Ldt)