from django.contrib.auth.views import LoginView from django.contrib.auth.views import PasswordResetView from django.contrib.auth.views import PasswordResetConfirmView from django.urls import reverse_lazy from django.views.generic.edit import CreateView from sharix_admin.forms import ShariXSignUpForm, ShariXLoginForm from sharix_admin.forms import ShariXResetPasswordForm, ShariXResetPasswordConfirmForm class ShariXSignUpView(CreateView): """ Представление для регистрации пользователей. """ form_class = ShariXSignUpForm template_name = 'sharix_admin/auth/signup.html' success_url = reverse_lazy('sharix_admin:auth_login') class ShariXLoginView(LoginView): """ Представление для входа в систему. """ form_class = ShariXLoginForm template_name = "sharix_admin/auth/login.html" redirect_authenticated_user = True # FIXME: Восстановления паролей сейчас не работает. Установлена заглушка. class ShariXResetPasswordView(PasswordResetView): """ Представление для восстановления пароля. """ form_class = ShariXResetPasswordForm template_name = "sharix_admin/auth/reset_password.html" email_template_name = "sharix_admin/auth/reset_password_email.html" subject_template_name = "sharix_admin/auth/reset_password_subject" success_message = "We've emailed you instructions for setting your password, " \ "if an account exists with the email you entered. You should receive them shortly." \ " If you don't receive an email, " \ "please make sure you've entered the address you registered with, and check your spam folder." success_url = reverse_lazy('sharix_admin:auth_login') class ShariXResetPasswordConfirmView(PasswordResetConfirmView): """ Представление для восстановления пароля после получения e-mail. """ form_class = ShariXResetPasswordConfirmForm template_name = "sharix_admin/auth/reset_password_confirm.html" success_url = reverse_lazy('sharix_admin:auth_login')