Advertisement
Guest User

Untitled

a guest
Dec 11th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. from __future__ import unicode_literals
  2. from django.db import models
  3. import bcrypt
  4. import re
  5.  
  6.  
  7. # # Create your models here.
  8. class UserManager(models.Manager):
  9. def loginVal(self, postData):
  10. results = {'status': True,'errors': [], 'user': None}
  11. users = self.filter(email = postData['email'])
  12. if len(users) < 1:
  13. results['status'] = False
  14. else:
  15. if bcrypt.checkpw(postData['password'].encode(), users[0].password.encode()):
  16. results['user'] = users[0]
  17. else:
  18. results['status'] = False
  19. return results
  20.  
  21. def creator(self, postData):
  22. user = self.create(
  23. first_name = postData['first_name'],
  24. last_name = postData['last_name'],
  25. email = postData['email'],
  26. password = bcrypt.hashpw(postData['password'].encode(), bcrypt.gensalt()),
  27. )
  28. return user
  29. def validate(self, postData):
  30. print postData
  31. results = {'status': True,'errors': []}
  32. #first name validations
  33. if len(postData['first_name']) < 3:
  34. results['errors'].append('poor grammar!!')
  35. results['status'] = False
  36. #last name validations
  37. if len(postData['last_name']) < 3:
  38. results['errors'].append('poor grammar!!')
  39. results['status'] = False
  40. # email validations
  41. if not re.match("[^@]+@[^@]+\.[^@]+", postData['email']):
  42. results['errors'].append('email invalid!!')
  43. results['status'] = False
  44. if postData['password'] != postData['confpw']:
  45. results['errors'].append('Passwords do not match!!')
  46. results['status'] = False
  47.  
  48. if len(postData['password']) < 5:
  49. results['errors'].append('Your password not less than 5')
  50. results['status'] = False
  51.  
  52. if len(self.filter(email = postData['email'])) > 0:
  53. results['errors'].append('The user already exists')
  54. results['status'] = False
  55. return results
  56.  
  57. class User(models.Model):
  58. first_name = models.CharField(max_length=200)
  59. last_name = models.CharField(max_length=200)
  60. email = models.CharField(max_length=200)
  61. password = models.CharField(max_length=200)
  62. objects = UserManager()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement