42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
from django.contrib.auth import views as auth_views
|
|
from django.contrib.auth.models import User
|
|
from django.contrib.messages.views import SuccessMessageMixin
|
|
from django.shortcuts import redirect
|
|
from django.urls import reverse_lazy
|
|
from django.views.generic.base import TemplateView
|
|
from django.views.generic.edit import CreateView
|
|
|
|
from . import forms
|
|
|
|
|
|
class HomePageView(TemplateView):
|
|
template_name = "index.html"
|
|
|
|
def dispatch(self, request, *args, **kwargs):
|
|
if request.user.is_authenticated:
|
|
return redirect("home")
|
|
return super().dispatch(request, *args, **kwargs)
|
|
|
|
|
|
class SignupView(SuccessMessageMixin, CreateView):
|
|
model = User
|
|
form_class = forms.UserSignupForm
|
|
success_url = reverse_lazy("login")
|
|
success_message = "Le compte %(username)s a été créé avec succès."
|
|
|
|
|
|
class PasswordChangeView(SuccessMessageMixin, auth_views.PasswordChangeView):
|
|
success_message = "Le mot de passe a été changé avec succès."
|
|
success_url = reverse_lazy("index")
|
|
|
|
|
|
class PasswordResetView(SuccessMessageMixin, auth_views.PasswordResetView):
|
|
success_message = "Un courriel a été envoyé avec les instructions pour réinitialiser votre mot de passe."
|
|
success_url = reverse_lazy("login")
|
|
|
|
|
|
class PasswordResetConfirmView(
|
|
SuccessMessageMixin, auth_views.PasswordResetConfirmView
|
|
):
|
|
success_message = "Le mot de passe a été réinitialisé avec succès."
|
|
success_url = reverse_lazy("login")
|