Guest User

Untitled

a guest
Nov 15th, 2018
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.55 KB | None | 0 0
  1. class User_table(models.Model):
  2. first_name = models.CharField(max_length=100)
  3. last_name = models.CharField(max_length=100)
  4. address = models.CharField(max_length=300)
  5. phone = models.CharField(max_length=20, null=True)
  6. emailid = models.EmailField()
  7. user_name = models.CharField(max_length=100)
  8. password = models.TextField()
  9. user_type = models.CharField(max_length=20)
  10. # True means drive is available for delivery
  11. status = models.BooleanField(default=True)
  12. vehicle_no = models.CharField(max_length=50, blank=True, null=True)
  13. gender = models.CharField(max_length=10)
  14. profile = models.ForeignKey(AddedFile, on_delete=models.CASCADE, null=True, related_name='profile')
  15. uploaded_document = models.ForeignKey(AddedFile, on_delete=models.CASCADE, null=True, related_name='document')
  16. approval_status = models.BooleanField(default=False)
  17. login_try = models.IntegerField(default=0)
  18. is_active = models.BooleanField(default=False)
  19. created_at = models.DateTimeField(auto_now_add=True)
  20. updated_at = models.DateTimeField(auto_now=True)
  21.  
  22. def __str__(self):
  23. return str(self.id)
  24.  
  25. def mainlogin(request):
  26. if request.method == "POST":
  27. username = request.POST['username']
  28. email = request.POST['email']
  29. password = request.POST['password']
  30. try:
  31. obj = User_table.objects.get(user_name=username, emailid=email)
  32. verify_password = ''
  33. try:
  34. verify_password = handler.verify(password, obj.password)
  35. except Exception as e:
  36. print(e)
  37. if verify_password is True:
  38. request.session['user_id'] = obj.id
  39. request.session['user_type'] = obj.user_type
  40. user_name = obj.first_name + ' ' + obj.last_name
  41. request.session['user_name'] = user_name
  42. if not obj.approval_status:
  43. return HttpResponse('Your account is not confirmed by administration.')
  44. obj.is_active = True
  45. obj.login_try = 0
  46. obj.save()
  47. return redirect(home)
  48. else:
  49. try:
  50. obj = User_table.objects.get(user_name=username, emailid=email);
  51. if obj:
  52. s = obj.login_try
  53. s = s + 1
  54. obj.login_try = int(s)
  55.  
  56. if int(obj.login_try) >= 3:
  57. obj.login_try = 3
  58. obj.save()
  59. if int(obj.login_try) == 3:
  60. id = obj.id
  61. key = get_random_string(length=10)
  62. reset_link = 'It seems you forgot password or someone is trying to login you account. This is your password reset link please do not share this with other ' + settings.EMAIL_URL + 'reset_password/' + str(
  63. id) + ' key is : ' + str(key)
  64. send_mail('Reset link', reset_link, settings.EMAIL_HOST_USER, [obj.emailid, ])
  65. obj.password = str(key)
  66. obj.save()
  67. return HttpResponse(
  68. 'It seems you forgot password or someone is trying to login you account. Password Reset link has been sent to your email id')
  69. except Exception as e:
  70. print(e)
  71. pass
  72. return redirect(mainlogin)
  73. except Exception as e:
  74. print('error is : ', e)
  75. return HttpResponse('An error has occurred.')
  76. if request.method == "GET":
  77. try:
  78. return render(request, "login.html")
  79. except Exception as e:
  80. print(e)
Add Comment
Please, Sign In to add comment