auth.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. from django.contrib.auth.views import LoginView
  2. from django.contrib.auth.views import PasswordResetView
  3. from django.contrib.auth.views import PasswordResetConfirmView
  4. from django.urls import reverse_lazy
  5. from django.views.generic.edit import CreateView
  6. from sharix_admin.forms import ShariXSignUpForm, ShariXLoginForm
  7. from sharix_admin.forms import ShariXResetPasswordForm, ShariXResetPasswordConfirmForm
  8. class ShariXSignUpView(CreateView):
  9. """
  10. Представление для регистрации пользователей.
  11. """
  12. form_class = ShariXSignUpForm
  13. template_name = 'sharix_admin/auth/signup.html'
  14. success_url = reverse_lazy('sharix_admin:auth_login')
  15. class ShariXLoginView(LoginView):
  16. """
  17. Представление для входа в систему.
  18. """
  19. form_class = ShariXLoginForm
  20. template_name = "sharix_admin/auth/login.html"
  21. redirect_authenticated_user = True
  22. # FIXME: Восстановления паролей сейчас не работает. Установлена заглушка.
  23. class ShariXResetPasswordView(PasswordResetView):
  24. """
  25. Представление для восстановления пароля.
  26. """
  27. form_class = ShariXResetPasswordForm
  28. template_name = "sharix_admin/auth/reset_password.html"
  29. email_template_name = "sharix_admin/auth/reset_password_email.html"
  30. subject_template_name = "sharix_admin/auth/reset_password_subject"
  31. success_message = "We've emailed you instructions for setting your password, " \
  32. "if an account exists with the email you entered. You should receive them shortly." \
  33. " If you don't receive an email, " \
  34. "please make sure you've entered the address you registered with, and check your spam folder."
  35. success_url = reverse_lazy('sharix_admin:auth_login')
  36. class ShariXResetPasswordConfirmView(PasswordResetConfirmView):
  37. """
  38. Представление для восстановления пароля после получения e-mail.
  39. """
  40. form_class = ShariXResetPasswordConfirmForm
  41. template_name = "sharix_admin/auth/reset_password_confirm.html"
  42. success_url = reverse_lazy('sharix_admin:auth_login')