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) |