Advertisement
Guest User

Untitled

a guest
Aug 5th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.17 KB | None | 0 0
  1. class AccountManager(models.Manager):
  2.     """
  3.    The class that handles activation
  4.    """
  5.     def register(self, **kwargs):
  6.         username, email, password = kwargs['username'], kwargs['email'], kwargs['password1']
  7.         return self.create_inactive_user(username, email, password)        
  8.        
  9.     def create_inactive_user(self, username, email, password):
  10.         new_user = User.objects.create_user(username, email, password)
  11.         new_user.is_active = False
  12.         new_user.save()
  13.         account_registration = self.create_activation_key(new_user)
  14.         return new_user
  15.        
  16.     def create_activation_key(self, user):
  17.         salt = sha_constructor(str(random.random())).hexdigest()[:5]
  18.         username = user.username.encode('utf-8')
  19.         activation_key = sha_constructor(salt+username).hexdigest()
  20.         return self.create(user=user, activation_key=activation_key)
  21.  
  22. class AccountRegistration(models.Model):
  23.     """
  24.    The class that saves an activation key
  25.    """
  26.     user = models.ForeignKey(User, unique=True, verbose_name='user')
  27.     activation_key = models.CharField('activation key', max_length=40)
  28.    
  29.     objects = AccountManager()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement