diff --git a/wiki_groups/templates/wiki_groups/graph.html b/wiki_groups/templates/wiki_groups/graph.html
deleted file mode 100644
index f2cfea7..0000000
--- a/wiki_groups/templates/wiki_groups/graph.html
+++ /dev/null
@@ -1,37 +0,0 @@
-{% extends "wiki/base.html" %}
-{% load staticfiles %}
-
-{% block wiki_site_title %}Groupes - WikiENS{% endblock %}
-
-{% block wiki_contents %}
-
Graphe des groupes du wiki
-
-
-
-
-
-
-
-
- Les flèches représentent l'inclusion : A -> B
signifie que
- le groupe A
est contenu dans le groupe B
.
-
-
-
-
-
-{% endblock %}
diff --git a/wiki_groups/templates/wiki_groups/list.html b/wiki_groups/templates/wiki_groups/list.html
new file mode 100644
index 0000000..ecf293e
--- /dev/null
+++ b/wiki_groups/templates/wiki_groups/list.html
@@ -0,0 +1,52 @@
+{% extends "wiki/base.html" %}
+{% load staticfiles %}
+
+{% block wiki_site_title %}Groupes - WikiENS{% endblock %}
+
+{% block wiki_contents %}
+
+ Liste des groupes du wiki
+ {% if request.user.is_staff or request.user.managed_groups.exists %}
+
+ Liste des groupes gérés
+
+ {% endif %}
+
+
+
+
+ {% for group in wikigroup_list %}
+ - {{ group.django_group.name }} {% if group.managers.exists %}(Géré par {% for m in group.managers.all %}{{ m }}{% if not forloop.last %}, {% endif %}{% endfor %}){% endif %}
+ {% endfor %}
+
+
+Graphe des groupes du wiki
+
+
+
+
+
+
+ Les flèches représentent l'inclusion : A -> B
signifie que
+ le groupe A
est contenu dans le groupe B
.
+
+
+
+
+
+{% endblock %}
diff --git a/wiki_groups/urls.py b/wiki_groups/urls.py
index b9c4f44..8414869 100644
--- a/wiki_groups/urls.py
+++ b/wiki_groups/urls.py
@@ -4,8 +4,8 @@ from wiki_groups import views
app_name = "wiki_groups"
urlpatterns = [
+ path("", views.GroupList.as_view(), name="list"),
path("dot_graph", views.dot_graph, name="dot_graph"),
- path("graph", views.graph, name="graph"),
path("managed", views.ManagedGroupsView.as_view(), name="managed-groups"),
path("", views.WikiGroupView.as_view(), name="admin-group"),
path(
diff --git a/wiki_groups/views.py b/wiki_groups/views.py
index f580963..db751b9 100644
--- a/wiki_groups/views.py
+++ b/wiki_groups/views.py
@@ -2,7 +2,7 @@ from django.contrib.auth import get_user_model
from django.contrib.auth.mixins import LoginRequiredMixin, UserPassesTestMixin
from django.http import HttpResponse, HttpResponseRedirect
from django.urls import reverse, reverse_lazy
-from django.views.generic import DetailView, ListView, RedirectView, TemplateView
+from django.views.generic import DetailView, ListView, RedirectView
from django.views.generic.detail import SingleObjectMixin
from django.views.generic.edit import BaseFormView
@@ -30,7 +30,14 @@ def dot_graph(request):
return response
-graph = TemplateView.as_view(template_name="wiki_groups/graph.html")
+class GroupList(ListView):
+ template_name = "wiki_groups/list.html"
+ model = WikiGroup
+
+ def get_queryset(self):
+ return WikiGroup.objects.select_related("django_group").order_by(
+ "django_group__name"
+ )
class WikiGroupMixin(SingleObjectMixin, UserPassesTestMixin):