web/ldt/user/models.py
changeset 4 7c994c98d1df
parent 3 651f67b66c51
child 5 ae8593287883
equal deleted inserted replaced
3:651f67b66c51 4:7c994c98d1df
     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)