Advertisement
Guest User

Untitled

a guest
Mar 24th, 2017
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.64 KB | None | 0 0
  1. class UserManager(models.Manager):
  2. def add_user(self, postData):
  3. errors = []
  4. if not len(postData['first_name']):
  5. errors.append('First name is required')
  6. if len(postData['last_name']) < 2:
  7. errors.append('Last name must be at least 2 characters long!')
  8. if not len(postData['email']):
  9. errors.append('Email is required!')
  10. if not EMAIL_REGEX.match(postData['email']):
  11. errors.append('Please enter a valid email!')
  12. check_email = self.filter(email = postData['email'])
  13. if check_email:
  14. errors.append('Sorry email already exist!')
  15. if len(postData['password']) < 8:
  16. errors.append('Password must be at least 8 characters!')
  17. if not postData['password'] == postData['confirm_password']:
  18. errors.append('Passwords must match!')
  19.  
  20. modelsResponse = {}
  21.  
  22. if errors:
  23. # failed validations
  24. modelsResponse ['isRegistered'] = False
  25. modelsResponse['errors'] = errors
  26. else:
  27. # passed validations, create a new user
  28. hashed_password = bcrypt.hashpw(postData['password'].encode(), bcrypt.gensalt())
  29. user = self.create(first_name = postData['first_name'] , last_name = postData['last_name'], email=postData['email'], password = hashed_password)
  30. modelsResponse ['isRegistered']= True
  31. modelsResponse['user'] = user
  32.  
  33. return modelsResponse
  34.  
  35. def login_user(self, postData):
  36. user = self.filter(email = postData['email'])
  37. errors = []
  38. modelsResponse = {}
  39. print user
  40. if not user:
  41. #invalid email
  42. errors.append('Invalid email!')
  43.  
  44. else:
  45. #found a user match, check the password to see if they match
  46. if bcrypt.checkpw(postData['password'].encode(), user[0].password.encode()):
  47. #login the user
  48. modelsResponse['isLoggedIn'] = True
  49. modelsResponse['user'] = user[0]
  50. else:
  51. # invalid email password combination
  52. errors.append('Invalid email/password combination!')
  53.  
  54. if errors:
  55. modelsResponse['isLoggedIn'] = False
  56. modelsResponse['errors'] = errors
  57.  
  58. return modelsResponse
  59.  
  60. class User(models.Model):
  61. first_name = models.CharField(max_length = 50)
  62. last_name = models.CharField(max_length = 50)
  63. email = models.CharField(max_length = 100)
  64. password = models.CharField(max_length =100)
  65. created_at = models.DateTimeField(auto_now_add = True)
  66. updated_at = models.DateTimeField(auto_now = True)
  67.  
  68. objects = UserManager()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement