Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class AccountManager(models.Manager):
- """
- The class that handles activation
- """
- def register(self, **kwargs):
- username, email, password = kwargs['username'], kwargs['email'], kwargs['password1']
- return self.create_inactive_user(username, email, password)
- def create_inactive_user(self, username, email, password):
- new_user = User.objects.create_user(username, email, password)
- new_user.is_active = False
- new_user.save()
- account_registration = self.create_activation_key(new_user)
- return new_user
- def create_activation_key(self, user):
- salt = sha_constructor(str(random.random())).hexdigest()[:5]
- username = user.username.encode('utf-8')
- activation_key = sha_constructor(salt+username).hexdigest()
- return self.create(user=user, activation_key=activation_key)
- class AccountRegistration(models.Model):
- """
- The class that saves an activation key
- """
- user = models.ForeignKey(User, unique=True, verbose_name='user')
- activation_key = models.CharField('activation key', max_length=40)
- objects = AccountManager()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement