1 from django.db import models |
|
2 from django.contrib.auth.models import User, Group, UserManager |
|
3 from django.utils.translation import gettext as _ |
|
4 from django.contrib import admin |
|
5 import datetime |
|
6 |
|
7 |
|
8 class IriGroup(Group): |
|
9 description = models.TextField(null=True, blank=True) |
|
10 |
|
11 def __unicode__(self): |
|
12 return self.name |
|
13 |
|
14 |
|
15 class ldt(User): |
|
16 irigroups = models.ManyToManyField(IriGroup, blank=True) |
|
17 |
|
18 class Meta: |
|
19 verbose_name = 'iri user' |
|
20 verbose_name_plural = 'iri users' |
|
21 |
|
22 def __unicode__(self): |
|
23 return self.username |
|
24 |
|
25 |
|
26 class ldtManager(UserManager): |
|
27 def create_user(self, username, email, password=None): |
|
28 "Creates and saves a User with the given username, e-mail and password." |
|
29 now = datetime.datetime.now() |
|
30 user = ldt(None, username, '', '', email.strip().lower(), 'placeholder', False, True, False, now, now) |
|
31 if password: |
|
32 user.set_password(password) |
|
33 else: |
|
34 user.set_unusable_password() |
|
35 user.save() |
|
36 return user |
|
37 |
|
38 User.objects = ldtManager() |
|
39 User.objects.contribute_to_class(User, "objects") |
|
40 |
|
41 admin.site.register(ldt) |
|
42 admin.site.register(IriGroup) |
|