From cd8859f610aa88b6cbe392c4b8bc8a60bd66e94d Mon Sep 17 00:00:00 2001 From: Tom Hubrecht Date: Thu, 19 Sep 2024 09:14:42 +0200 Subject: [PATCH] feat(account): Add a template with a message when a CAS account is forbidden --- src/dgsi/urls.py | 5 +++++ src/shared/account.py | 5 ++++- src/shared/templates/account/forbidden_category.html | 8 ++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 src/shared/templates/account/forbidden_category.html diff --git a/src/dgsi/urls.py b/src/dgsi/urls.py index 38c0e0c..2555ae0 100644 --- a/src/dgsi/urls.py +++ b/src/dgsi/urls.py @@ -7,4 +7,9 @@ app_name = "dgsi" urlpatterns = [ path("accounts/profile/", views.ProfileView.as_view(), name="dgn-profile"), path("accounts/create/", views.CreateUserView.as_view(), name="dgn-create_user"), + path( + "accounts/forbidden/", + views.TemplateView.as_view(template_name="account/forbidden_category.html"), + name="dgn-forbidden_account", + ), ] diff --git a/src/shared/account.py b/src/shared/account.py index 0210a79..31eb5ad 100644 --- a/src/shared/account.py +++ b/src/shared/account.py @@ -2,6 +2,7 @@ from allauth.core.exceptions import ImmediateHttpResponse from allauth.socialaccount.adapter import DefaultSocialAccountAdapter from allauth.socialaccount.models import SocialLogin from django.http import HttpResponseRedirect +from django.urls import reverse from dgsi.models import User @@ -25,7 +26,9 @@ class SharedAccountAdapter(DefaultSocialAccountAdapter): home[2] in ["absint", "algo", "grecc", "guests", "spi", "spi1", "staffs"] ): - raise ImmediateHttpResponse(HttpResponseRedirect("/")) + raise ImmediateHttpResponse( + HttpResponseRedirect(reverse("dgsi:dgn-forbidden_account")) + ) case "kanidm": username = sociallogin.account.extra_data["preferred_username"] diff --git a/src/shared/templates/account/forbidden_category.html b/src/shared/templates/account/forbidden_category.html new file mode 100644 index 0000000..1892cce --- /dev/null +++ b/src/shared/templates/account/forbidden_category.html @@ -0,0 +1,8 @@ +{% extends "base.html" %} +{% load i18n %} + +{% block content %} +
+ {% blocktrans %}Votre catégorie de compte ENS ne permet pas de vous identifier auprès de la DGNum.
Si vous pensez qu'il s'agit une erreur, merci de contacter la DGNum à l'adresse : contact@dgnum.eu{% endblocktrans %} +
+{% endblock content %}