chore(dgsi/urls): Drop the dgn- prefix

This commit is contained in:
Tom Hubrecht 2025-02-02 21:20:30 +01:00
parent 45321b98df
commit d34e500ea6
Signed by: thubrecht
SSH key fingerprint: SHA256:r+nK/SIcWlJ0zFZJGHtlAoRwq1Rm+WcKAm5ADYMoQPc
15 changed files with 110 additions and 103 deletions

View file

@ -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

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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 %}

View file

@ -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 %}

View file

@ -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 %}

View file

@ -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 %}

View file

@ -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>

View file

@ -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",
),
]

View file

@ -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):

View file

@ -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(

View file

@ -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>

View file

@ -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>