chore(dgsi/urls): Drop the dgn- prefix
This commit is contained in:
parent
45321b98df
commit
d34e500ea6
15 changed files with 110 additions and 103 deletions
|
@ -32,7 +32,7 @@ class KanidmAccountRequiredMixin(AccessMixin):
|
|||
messages.WARNING,
|
||||
_("<b>Veuillez créer un compte DGNum.</b>"),
|
||||
)
|
||||
return HttpResponseRedirect(reverse_lazy("dgsi:dgn-create_self_account"))
|
||||
return HttpResponseRedirect(reverse_lazy("dgsi:create_self_account"))
|
||||
|
||||
if self.require_radius_secret and self._user.kanidm.radius_secret is None:
|
||||
messages.add_message(
|
||||
|
@ -40,7 +40,7 @@ class KanidmAccountRequiredMixin(AccessMixin):
|
|||
messages.WARNING,
|
||||
_("<b>Veuillez générer un mot de passe Wi-Fi.</b>"),
|
||||
)
|
||||
return HttpResponseRedirect(reverse_lazy("dgsi:dgn-profile"))
|
||||
return HttpResponseRedirect(reverse_lazy("dgsi:profile"))
|
||||
|
||||
return super().dispatch(request, *args, **kwargs) # type: ignore
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<span class="tags is-pulled-right">
|
||||
{% if user_document != document %}
|
||||
<a class="tag is-warning"
|
||||
href="{% url "dgsi:dgn-accept_legal_document" document.kind %}"
|
||||
href="{% url "dgsi:accept_legal_document" document.kind %}"
|
||||
onclick="return confirm(('{% trans " En acceptant, vous assurez avoir lu ce document et en approuver le contenu." %}'))">
|
||||
<span>{{ accept_question }}</span>
|
||||
<span class="icon is-size-6"><i class="ti ti-alert-circle"></i></span>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<h2 class="subtitle">
|
||||
{% trans subtitle %}
|
||||
<a class="button is-small is-pulled-right is-primary" href="{% url backlink|default:'dgsi:dgn-index' %}">
|
||||
<a class="button is-small is-pulled-right is-primary" href="{% url backlink|default:'dgsi:index' %}">
|
||||
<span class="icon">
|
||||
<i class="ti ti-arrow-big-left-filled"></i>
|
||||
</span>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
{% for file in document_list %}
|
||||
<a class="button bt-archive"
|
||||
{% if file.kind == "statutes" or file.kind == "bylaws" %} href="{{ file.file.url }}" {% else %} href="{% url "dgsi:dgn-protected-archive" file.pk %}" {% endif %}>
|
||||
{% if file.kind == "statutes" or file.kind == "bylaws" %} href="{{ file.file.url }}" {% else %} href="{% url "dgsi:protected-archive" file.pk %}" {% endif %}>
|
||||
<span class="tag is-{{ file.color }} is-pulled-left">
|
||||
<span class="icon"><i class="ti ti-{{ file.icon }}"></i></span>
|
||||
</span>
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<b>{% trans "Vous n'avez pas encore de compte DGNum, mais vous pouvez désormais en créer un." %}</b>
|
||||
<br>
|
||||
<a class="button mt-5 is-light"
|
||||
href="{% url "dgsi:dgn-create_self_account" %}">{% trans "Poursuivre la création d'un compte DGNum" %}</a>
|
||||
href="{% url "dgsi:create_self_account" %}">{% trans "Poursuivre la création d'un compte DGNum" %}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<span>{% trans "Mot de passe WiFi :" %}</span>
|
||||
{% if user.kanidm.radius_secret %}
|
||||
<a class="button is-small is-danger is-pulled-right"
|
||||
hx-post="{% url "dgsi:dgn-generate_wifi_password" %}"
|
||||
hx-post="{% url "dgsi:generate_wifi_password" %}"
|
||||
hx-confirm="{% trans "Êtes-vous sûr·e de vouloir réinitialiser votre mot de passe WiFi ?" %}">
|
||||
<span class="icon"><i class="ti ti-refresh"></i></span>
|
||||
<span class="has-text-weight-normal">{% trans "Réinitialiser le mot de passe WiFi" %}</span>
|
||||
|
@ -24,7 +24,7 @@
|
|||
<a id="secret-toggle" class="button is-size-4 is-warning is-light"><span class="icon"><i class="ti ti-eye"></i></span></a>
|
||||
</div>
|
||||
{% else %}
|
||||
<a hx-post="{% url "dgsi:dgn-generate_wifi_password" %}"
|
||||
<a hx-post="{% url "dgsi:generate_wifi_password" %}"
|
||||
class="button is-fullwidth is-primary is-light is-size-4 block">{% trans "Générer un mot de passe WiFi" %}</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
|
|
@ -7,11 +7,11 @@
|
|||
<td>{{ person.vlan_id|default:"" }}</td>
|
||||
<td>
|
||||
{% if person.vlan_id %}
|
||||
<a hx-post="{% url "dgsi:dgn-user_deassign_vlan" person.pk %}"
|
||||
<a hx-post="{% url "dgsi:user_deassign_vlan" person.pk %}"
|
||||
hx-target="#user-{{ person.pk }}"
|
||||
class="button is-fullwidth is-light is-warning">{% trans "Désallouer" %}</a>
|
||||
{% else %}
|
||||
<a hx-post="{% url "dgsi:dgn-user_assign_vlan" person.pk %}"
|
||||
<a hx-post="{% url "dgsi:user_assign_vlan" person.pk %}"
|
||||
hx-target="#user-{{ person.pk }}"
|
||||
class="button is-fullwidth is-light is-primary">{% trans "Allouer" %}</a>
|
||||
{% endif %}
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
|
||||
{% if user.kanidm and user.kanidm.radius_secret %}
|
||||
<div class="buttons">
|
||||
<a href="{% url "dgsi:dgn-apple_profile" %}" class="button is-light">
|
||||
<a href="{% url "dgsi:apple_profile" %}" class="button is-light">
|
||||
<span class="icon"><i class="ti ti-brand-apple-filled"></i></span>
|
||||
<span>{% trans "Télécharger le profil Wi-Fi DGNum pour iOS, iPadOS et macOS" %}</span>
|
||||
</a>
|
||||
|
@ -106,7 +106,7 @@
|
|||
<b>{% trans "Pas de compte DGNum répertorié." %}</b>
|
||||
<br>
|
||||
<a class="button mt-5 is-light"
|
||||
href="{% url "dgsi:dgn-create_self_account" %}">{% trans "Créer un compte DGNum" %}</a>
|
||||
href="{% url "dgsi:create_self_account" %}">{% trans "Créer un compte DGNum" %}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock content %}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<div class="buttons bt-links">
|
||||
{% for service in service_list %}
|
||||
<a class="button is-medium"
|
||||
href="{% url "dgsi:dgn-services_redirect" service.pk %}">
|
||||
href="{% url "dgsi:services_redirect" service.pk %}">
|
||||
<span class="icon"><i class="ti ti-{{ service.icon }}"></i></span>
|
||||
<span>{{ service.name }}</span>
|
||||
</a>
|
||||
|
|
149
src/dgsi/urls.py
149
src/dgsi/urls.py
|
@ -6,94 +6,101 @@ from . import views
|
|||
app_name = "dgsi"
|
||||
|
||||
urlpatterns = [
|
||||
# Misc views
|
||||
###
|
||||
# Miscelleanous views
|
||||
path(
|
||||
"",
|
||||
views.IndexView.as_view(),
|
||||
name="dgn-index",
|
||||
name="index",
|
||||
),
|
||||
path(
|
||||
"mentions-legales",
|
||||
TemplateView.as_view(template_name="dgsi/mentions-legales.html"),
|
||||
name="dgn-mentions-legales",
|
||||
),
|
||||
# Archives
|
||||
path(
|
||||
"archives/",
|
||||
views.ArchiveListView.as_view(),
|
||||
name="dgn-archives",
|
||||
),
|
||||
path(
|
||||
"archives/<int:pk>/",
|
||||
views.ProtectedArchiveView.as_view(),
|
||||
name="dgn-protected-archive",
|
||||
),
|
||||
# Legal documents
|
||||
path(
|
||||
"legal-documents/",
|
||||
views.LegalDocumentsView.as_view(),
|
||||
name="dgn-legal_documents",
|
||||
),
|
||||
path(
|
||||
"legal-documents/accept/<slug:kind>/",
|
||||
views.AcceptLegalDocumentView.as_view(),
|
||||
name="dgn-accept_legal_document",
|
||||
),
|
||||
# Account views
|
||||
path(
|
||||
"accounts/profile/",
|
||||
views.ProfileView.as_view(),
|
||||
name="dgn-profile",
|
||||
),
|
||||
path(
|
||||
"accounts/profile/apple-config/",
|
||||
views.AppleProfileView.as_view(),
|
||||
name="dgn-apple_profile",
|
||||
),
|
||||
path(
|
||||
"accounts/generate-wifi-password/",
|
||||
views.GenerateWiFiPasswordView.as_view(),
|
||||
name="dgn-generate_wifi_password",
|
||||
),
|
||||
path(
|
||||
"accounts/create/",
|
||||
views.CreateSelfAccountView.as_view(),
|
||||
name="dgn-create_self_account",
|
||||
),
|
||||
path(
|
||||
"accounts/create-kanidm/",
|
||||
views.CreateKanidmAccountView.as_view(),
|
||||
name="dgn-create_kanidm_user",
|
||||
),
|
||||
path(
|
||||
"accounts/list/",
|
||||
views.UserListView.as_view(),
|
||||
name="dgn-user_list",
|
||||
),
|
||||
path(
|
||||
"accounts/assign-vlan/<int:pk>",
|
||||
views.AssignVlanView.as_view(),
|
||||
name="dgn-user_assign_vlan",
|
||||
),
|
||||
path(
|
||||
"accounts/deassign-vlan/<int:pk>",
|
||||
views.DeassignVlanView.as_view(),
|
||||
name="dgn-user_deassign_vlan",
|
||||
"mentions-legales/",
|
||||
TemplateView.as_view(template_name="dgsi/mentions_legales.html"),
|
||||
name="mentions_legales",
|
||||
),
|
||||
path(
|
||||
"accounts/forbidden/",
|
||||
views.TemplateView.as_view(template_name="accounts/forbidden_category.html"),
|
||||
name="dgn-forbidden_account",
|
||||
name="forbidden_account",
|
||||
),
|
||||
###
|
||||
# Archives views
|
||||
path(
|
||||
"archives/",
|
||||
views.ArchiveListView.as_view(),
|
||||
name="archives",
|
||||
),
|
||||
path(
|
||||
"archives/<int:pk>/",
|
||||
views.ProtectedArchiveView.as_view(),
|
||||
name="protected-archive",
|
||||
),
|
||||
###
|
||||
# Legal documents
|
||||
path(
|
||||
"legal-documents/",
|
||||
views.LegalDocumentsView.as_view(),
|
||||
name="legal_documents",
|
||||
),
|
||||
path(
|
||||
"legal-documents/accept/<slug:kind>/",
|
||||
views.AcceptLegalDocumentView.as_view(),
|
||||
name="accept_legal_document",
|
||||
),
|
||||
###
|
||||
# Services views
|
||||
path(
|
||||
"services/",
|
||||
views.ServiceListView.as_view(),
|
||||
name="dgn-services",
|
||||
name="services",
|
||||
),
|
||||
path(
|
||||
"services/redirect/<int:pk>/",
|
||||
views.ServiceRedirectView.as_view(),
|
||||
name="dgn-services_redirect",
|
||||
name="services_redirect",
|
||||
),
|
||||
###
|
||||
# Profile views
|
||||
path(
|
||||
"accounts/profile/",
|
||||
views.ProfileView.as_view(),
|
||||
name="profile",
|
||||
),
|
||||
path(
|
||||
"accounts/profile/apple-config/",
|
||||
views.AppleProfileView.as_view(),
|
||||
name="apple_profile",
|
||||
),
|
||||
path(
|
||||
"accounts/generate-wifi-password/",
|
||||
views.GenerateWiFiPasswordView.as_view(),
|
||||
name="generate_wifi_password",
|
||||
),
|
||||
path(
|
||||
"accounts/create/",
|
||||
views.CreateSelfAccountView.as_view(),
|
||||
name="create_self_account",
|
||||
),
|
||||
###
|
||||
# Accounts admin views
|
||||
path(
|
||||
"accounts/create-kanidm/",
|
||||
views.CreateKanidmAccountView.as_view(),
|
||||
name="create_kanidm_user",
|
||||
),
|
||||
path(
|
||||
"accounts/list/",
|
||||
views.UserListView.as_view(),
|
||||
name="user_list",
|
||||
),
|
||||
path(
|
||||
"accounts/assign-vlan/<int:pk>",
|
||||
views.AssignVlanView.as_view(),
|
||||
name="user_assign_vlan",
|
||||
),
|
||||
path(
|
||||
"accounts/deassign-vlan/<int:pk>",
|
||||
views.DeassignVlanView.as_view(),
|
||||
name="user_deassign_vlan",
|
||||
),
|
||||
]
|
||||
|
|
|
@ -34,8 +34,8 @@ class Link(NamedTuple):
|
|||
absolute: bool = False
|
||||
|
||||
|
||||
AUTHENTICATED_LINKS: list[Link] = [
|
||||
Link("is-primary", "dgsi:dgn-profile", _("Mon profil"), "user-filled"),
|
||||
AUTHENTICATED_LINKS = [
|
||||
Link("is-primary", "dgsi:profile", _("Mon profil"), "user-filled"),
|
||||
Link(
|
||||
"is-success",
|
||||
"https://docs.dgnum.eu/s/doc-publique",
|
||||
|
@ -43,19 +43,19 @@ AUTHENTICATED_LINKS: list[Link] = [
|
|||
"help",
|
||||
True,
|
||||
),
|
||||
Link("is-primary", "dgsi:dgn-legal_documents", _("Documents Légaux"), "script"),
|
||||
Link("is-info", "dgsi:dgn-services", _("Services proposés"), "apps-filled"),
|
||||
Link("is-success", "dgsi:dgn-archives", _("Archives"), "archive"),
|
||||
Link("is-primary", "dgsi:legal_documents", _("Documents Légaux"), "script"),
|
||||
Link("is-info", "dgsi:services", _("Services proposés"), "apps-filled"),
|
||||
Link("is-success", "dgsi:archives", _("Archives"), "archive"),
|
||||
]
|
||||
|
||||
ADMIN_LINKS: list[Link] = [
|
||||
ADMIN_LINKS = [
|
||||
Link(
|
||||
"is-danger",
|
||||
"dgsi:dgn-create_kanidm_user",
|
||||
"dgsi:create_kanidm_user",
|
||||
_("Créer un compte Kanidm"),
|
||||
"user-plus",
|
||||
),
|
||||
Link("is-primary", "dgsi:dgn-user_list", _("Liste des comptes"), "users"),
|
||||
Link("is-primary", "dgsi:user_list", _("Liste des comptes"), "users"),
|
||||
Link(
|
||||
"is-warning", "admin:index", _("Interface d'administration"), "settings-filled"
|
||||
),
|
||||
|
@ -91,7 +91,7 @@ class AppleProfileView(KanidmAccountRequiredMixin, TemplateView):
|
|||
|
||||
|
||||
class GenerateWiFiPasswordView(KanidmAccountRequiredMixin, View):
|
||||
url = reverse_lazy("dgsi:dgn-profile")
|
||||
url = reverse_lazy("dgsi:profile")
|
||||
http_method_names = ["post"]
|
||||
|
||||
def post(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponseBase:
|
||||
|
@ -115,8 +115,8 @@ class CreateSelfAccountView(AccessMixin, SuccessMessageMixin, FormView):
|
|||
template_name = "dgsi/create_self_account.html"
|
||||
form_class = CreateSelfAccountForm
|
||||
success_message = _("Compte DGNum créé avec succès")
|
||||
success_url = reverse_lazy("dgsi:dgn-profile")
|
||||
extra_context = {"backlink": "dgsi:dgn-profile"}
|
||||
success_url = reverse_lazy("dgsi:profile")
|
||||
extra_context = {"backlink": "dgsi:profile"}
|
||||
|
||||
def dispatch(
|
||||
self, request: HttpRequest, *args: Any, **kwargs: Any
|
||||
|
@ -133,7 +133,7 @@ class CreateSelfAccountView(AccessMixin, SuccessMessageMixin, FormView):
|
|||
messages.WARNING,
|
||||
_("<b>Vous possédez déjà un compte DGNum !</b>"),
|
||||
)
|
||||
return HttpResponseRedirect(reverse_lazy("dgsi:dgn-profile"))
|
||||
return HttpResponseRedirect(reverse_lazy("dgsi:profile"))
|
||||
|
||||
# Check that the Statutes and Bylaws have been accepted
|
||||
if (
|
||||
|
@ -145,7 +145,7 @@ class CreateSelfAccountView(AccessMixin, SuccessMessageMixin, FormView):
|
|||
messages.WARNING,
|
||||
_("Vous devez accepter les Statuts et le Règlement Intérieur."),
|
||||
)
|
||||
return HttpResponseRedirect(reverse_lazy("dgsi:dgn-legal_documents"))
|
||||
return HttpResponseRedirect(reverse_lazy("dgsi:legal_documents"))
|
||||
|
||||
return super().dispatch(request, *args, **kwargs)
|
||||
|
||||
|
@ -258,7 +258,7 @@ class LegalDocumentsView(LoginRequiredMixin, TemplateView):
|
|||
|
||||
|
||||
class AcceptLegalDocumentView(LoginRequiredMixin, RedirectView):
|
||||
url = reverse_lazy("dgsi:dgn-legal_documents")
|
||||
url = reverse_lazy("dgsi:legal_documents")
|
||||
|
||||
def get(self, request: HttpRequest, *args: Any, **kwargs: Any) -> HttpResponseBase:
|
||||
u = User.from_request(self.request)
|
||||
|
@ -306,7 +306,7 @@ class CreateKanidmAccountView(StaffRequiredMixin, SuccessMessageMixin, FormView)
|
|||
template_name = "dgsi/create_kanidm_account.html"
|
||||
success_message = _("Compte DGNum pour %(displayname)s [%(name)s] créé.")
|
||||
|
||||
success_url = reverse_lazy("dgsi:dgn-create_kanidm_user")
|
||||
success_url = reverse_lazy("dgsi:create_kanidm_user")
|
||||
|
||||
@async_to_sync
|
||||
async def form_valid(self, form):
|
||||
|
|
|
@ -40,7 +40,7 @@ class SharedAccountAdapter(DefaultSocialAccountAdapter):
|
|||
):
|
||||
messages.error(request, _("Catégorie de compte ENS interdite."))
|
||||
raise ImmediateHttpResponse(
|
||||
HttpResponseRedirect(reverse("dgsi:dgn-forbidden_account"))
|
||||
HttpResponseRedirect(reverse("dgsi:forbidden_account"))
|
||||
)
|
||||
|
||||
# Continue with the login flow
|
||||
|
@ -57,7 +57,7 @@ class SharedAccountAdapter(DefaultSocialAccountAdapter):
|
|||
# INFO: This should never happen
|
||||
messages.error(request, _("Méthode de connexion invalide."))
|
||||
raise ImmediateHttpResponse(
|
||||
HttpResponseRedirect(reverse("dgsi:dgn-forbidden_account"))
|
||||
HttpResponseRedirect(reverse("dgsi:forbidden_account"))
|
||||
)
|
||||
|
||||
def _get_user(
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
<footer class="footer has-text-centered">
|
||||
<b>{% blocktrans %}Logiciel développé pour et par la <a href="https://dgnum.eu">DGNum</a>.{% endblocktrans %}</b>
|
||||
<hr class="my-2">
|
||||
<a class="tag is-medium" href="{% url "dgsi:dgn-mentions-legales" %}">Mentions Légales</a>
|
||||
<a class="tag is-medium" href="{% url "dgsi:mentions_legales" %}">Mentions Légales</a>
|
||||
{% django_browser_reload_script %}
|
||||
</footer>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<div class="columns mx-6">
|
||||
<div class="column is-three-quarters">
|
||||
<h1 class="title">
|
||||
<a href="{% url 'dgsi:dgn-index' %}" class="has-text-dark">Dossier Général des Services Informagiques</a>
|
||||
<a href="{% url 'dgsi:index' %}" class="has-text-dark">Dossier Général des Services Informagiques</a>
|
||||
</h1>
|
||||
<h2 class="subtitle mt-2">Système d'information de la DGNum</h2>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue