Skip to content
Snippets Groups Projects
Commit b252379e authored by Dorian Lesbre's avatar Dorian Lesbre
Browse files

Reworked accounts views

parent 1ab06f7f
No related branches found
No related tags found
No related merge requests found
from django.urls import include, path from django.urls import include, path
import django.contrib.auth.views as dj_auth_views
from accounts.views import logout_view, ActivateAccountView, CreateAccountView from accounts.views import ActivateAccountView, CreateAccountView, LogoutView, LoginView
app_name = "accounts" app_name = "accounts"
urlpatterns = [ urlpatterns = [
path("login/", dj_auth_views.LoginView.as_view(), name="login"), path("login/", LoginView.as_view(), name="login"),
path("logout/", logout_view, name="logout"), path("logout/", LogoutView.as_view(), name="logout"),
path("create/", CreateAccountView.as_view(), name="create"), path("create/", CreateAccountView.as_view(), name="create"),
path('activate/<uidb64>/<token>/', ActivateAccountView.as_view(), name='activate'), path('activate/<uidb64>/<token>/', ActivateAccountView.as_view(), name='activate'),
] ]
from django.conf import settings from django.conf import settings
from django.contrib import messages from django.contrib import messages
from django.contrib.auth import authenticate, login, logout from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.decorators import login_required from django.contrib.auth.views import LoginView as DjangoLoginView
from django.contrib.sites.shortcuts import get_current_site from django.contrib.sites.shortcuts import get_current_site
from django.http import Http404 from django.http import Http404
from django.utils.encoding import force_bytes, force_text from django.utils.encoding import force_bytes, force_text
...@@ -16,17 +16,26 @@ from accounts.models import EmailUser ...@@ -16,17 +16,26 @@ from accounts.models import EmailUser
from accounts.tokens import email_token_generator from accounts.tokens import email_token_generator
from site_settings.models import SiteSettings from site_settings.models import SiteSettings
@login_required class LoginView(DjangoLoginView):
def logout_view(request): """Vue pour se connecter"""
template_name = "login.html"
class LogoutView(RedirectView):
"""Vue pour se deconnecter""" """Vue pour se deconnecter"""
logout(request)
messages.success(request, "Vous avez bien été déconecté·e.") permanent = False
return redirect("home") pattern_name = "home"
def get_redirect_url(self, *args, **kwargs):
if self.request.user.is_authenticated:
logout(self.request)
messages.info(self.request, "Vous avez bien été déconnecté·e.")
return super().get_redirect_url(*args, **kwargs)
class CreateAccountView(View): class CreateAccountView(View):
"""Vue pour la creation de compte""" """Vue pour la creation de compte"""
form_class = CreateAccountForm form_class = CreateAccountForm
template_name = 'registration/create_account.html' template_name = 'create_account.html'
@staticmethod @staticmethod
def check_creation_allowed(): def check_creation_allowed():
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment