diff --git a/src/agenda_culturel/templates/agenda_culturel/tag.html b/src/agenda_culturel/templates/agenda_culturel/tag.html
index c2c3e8b..22a7c74 100644
--- a/src/agenda_culturel/templates/agenda_culturel/tag.html
+++ b/src/agenda_culturel/templates/agenda_culturel/tag.html
@@ -2,7 +2,7 @@
{% load tag_extra %}
-{% block title %}{% block og_title %}Les événements {{ tag }}{% endblock %}{% endblock %}
+{% block title %}{% block og_title %}Étiquette {{ tag }}{% endblock %}{% endblock %}
{% load cat_extra %}
{% load utils_extra %}
@@ -40,7 +40,7 @@
Supprimer {% picto_from_name "trash-2" %}
{% endif %}
-
Les événements {{ tag }}
+ Étiquette {{ tag }}
{% if user.is_authenticated and object %}
{% if object.in_excluded_suggestions %}
Cette étiquette fait partie des étiquettes suggérées pour l'exclusion.
@@ -72,6 +72,18 @@
+
+
+
+
{% if past %}Événements passés{% else %}Événements à venir{% endif %}
+
+
{% for event in paginator_filter %}
{% include "agenda_culturel/single-event/event-elegant-inc.html" with event=event day=0 %}
{% endfor %}
diff --git a/src/agenda_culturel/urls.py b/src/agenda_culturel/urls.py
index 69e7a03..d1880b6 100644
--- a/src/agenda_culturel/urls.py
+++ b/src/agenda_culturel/urls.py
@@ -41,6 +41,7 @@ urlpatterns = [
path("cette-semaine/", week_view, name="cette_semaine"),
path("ce-mois-ci", month_view, name="ce_mois_ci"),
path("tag//", view_tag, name="view_tag"),
+ path("tag//past", view_tag_past, name="view_tag_past"),
path("tags/", tag_list, name="view_all_tags"),
path("tag//edit", TagUpdateView.as_view(), name="edit_tag"),
path("tag//delete", TagDeleteView.as_view(), name="delete_object_tag"),
diff --git a/src/agenda_culturel/views.py b/src/agenda_culturel/views.py
index 5884ea3..013893d 100644
--- a/src/agenda_culturel/views.py
+++ b/src/agenda_culturel/views.py
@@ -2121,14 +2121,20 @@ class TagDeleteView(PermissionRequiredMixin, DeleteView):
permission_required = "agenda_culturel.delete_tag"
success_url = reverse_lazy("view_all_tags")
+def view_tag_past(request, t):
+ return view_tag(request, t, True)
-def view_tag(request, t):
+def view_tag(request, t, past=False):
+ now = date.today()
- paginator = Paginator(
- get_event_qs(request).filter(tags__contains=[t]).order_by(
- "start_day", "start_time"),
- 10,
- )
+ qs = get_event_qs(request).filter(tags__contains=[t])
+
+ if past:
+ qs = qs.filter(start_day__lt=now).order_by("-start_day", "-start_time")
+ else:
+ qs = qs.filter(start_day__gte=now).order_by("start_day", "start_time")
+
+ paginator = Paginator(qs, 10)
page = request.GET.get("page")
try:
@@ -2141,7 +2147,7 @@ def view_tag(request, t):
rimports = RecurrentImport.objects.filter(defaultTags__contains=[t])
tag = Tag.objects.filter(name=t).first()
- context = {"tag": t, "paginator_filter": response, "object": tag, "rimports": rimports}
+ context = {"tag": t, "paginator_filter": response, "object": tag, "rimports": rimports, "past": past}
return render(request, "agenda_culturel/tag.html", context)