Advertisement
Guest User

Untitled

a guest
Apr 28th, 2019
642
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.11 KB | None | 0 0
  1. def register(request):
  2. if request.method == "POST":
  3. first_name = request.POST['first_name']
  4. last_name = request.POST['last_name']
  5. last_name = request.POST['last_name']
  6. username = request.POST['username']
  7. email = request.POST['email']
  8. password = request.POST['password']
  9. password2 = request.POST['password2']
  10. if password == password2:
  11. if len(password) < 5:
  12. messages.error(
  13. request, _('Your password is too small. Please use a stronger one.'))
  14. return redirect('register')
  15. if User.objects.filter(username=username).exists():
  16. messages.error(
  17. request, _('Username is already taken. Please register again with new username.'))
  18. return redirect('register')
  19. if User.objects.filter(email=email).exists():
  20. messages.error(
  21. request, _('Email: '+email+' is already registered. You can login with that email.'))
  22. return redirect('register')
  23. else:
  24. user = User.objects.create_user(
  25. first_name=first_name, last_name=last_name, username=username, email=email, password=password)
  26. user.save()
  27. messages.success(
  28. request, _('Your account has been created.You can log in now.'))
  29. return redirect('login')
  30. else:
  31. messages.error(request, _('Password didn\'t match!'))
  32. return redirect('register')
  33.  
  34. else:
  35. return render(request, 'accounts/register.html')
  36.  
  37.  
  38. def login(request):
  39. if request.method == 'POST':
  40. username = request.POST['username']
  41. password = request.POST['password']
  42. user = auth.authenticate(username=username, password=password)
  43.  
  44. if user is not None:
  45. auth.login(request, user)
  46. messages.success(request, _('You are logged in now.'))
  47. return redirect('dashboard')
  48. else:
  49. messages.error(
  50. request, _('Your credentials didn\'t matched. Please use correct username and password.'))
  51. return redirect('login')
  52. else:
  53. return render(request, 'accounts/login.html')
  54.  
  55.  
  56. def logout(request):
  57. auth.logout(request)
  58. messages.success(request, _('You have been logged out.'))
  59. return redirect('login')
  60.  
  61.  
  62. @login_required
  63. def edit_profile(request):
  64. if request.method == 'POST':
  65. user = User.objects.get(id=request.user.id)
  66. if request.POST.get('username') != request.user.username and User.objects.filter(username=request.POST.get('username')).exists():
  67. messages.error(request,_('User with same username already exists! Please choose unique username.'))
  68. return redirect('dashboard')
  69. user.first_name = request.POST.get(
  70. 'first_name', request.user.first_name)
  71. user.last_name = request.POST.get('last_name', request.user.last_name)
  72. if request.POST['username']:
  73. saved_items = Save.objects.filter(username=user.username)
  74. for item in saved_items:
  75. item.username = request.POST['username']
  76. item.save()
  77.  
  78. user.username = request.POST.get('username', request.user.username)
  79. user.email = request.POST.get('email', request.user.email)
  80. user.save()
  81. messages.success(request, _('Your profile is successfully updated.'))
  82. return redirect('dashboard')
  83. return redirect('login')
  84.  
  85.  
  86. @login_required
  87. def change_password(request):
  88. if request.method == 'POST':
  89. form = PasswordChangeForm(request.user, request.POST)
  90. if form.is_valid():
  91. user = form.save()
  92. update_session_auth_hash(request, user) # Important!
  93. messages.success(
  94. request, _('Your password was successfully updated!'))
  95. return redirect('dashboard')
  96. else:
  97. messages.error(request, _('Please make sure all conditions are matched !'))
  98. else:
  99. form = PasswordChangeForm(request.user)
  100. return render(request, 'accounts/change_password.html', {
  101. 'form': form
  102. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement