From 482dd9468ad4a3f885c1202778f18b5f44c8cd5a Mon Sep 17 00:00:00 2001 From: Jean-Marie Favreau Date: Wed, 8 Jan 2025 17:00:04 +0100 Subject: [PATCH] =?UTF-8?q?les=20=C3=A9v=C3=A9nements=20d'une=20=C3=A9tiqu?= =?UTF-8?q?ette=20sont=20affich=C3=A9s=20=C3=A0=20partir=20de=20maintenant?= =?UTF-8?q?,=20dans=20le=20pass=C3=A9=20ou=20dans=20le=20futur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix #264 --- .../templates/agenda_culturel/tag.html | 16 +++++++++++++-- src/agenda_culturel/urls.py | 1 + src/agenda_culturel/views.py | 20 ++++++++++++------- 3 files changed, 28 insertions(+), 9 deletions(-) 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 %} + Voir les événements à venir + {% else %} + Voir les événements passés + {% endif %} +
+ +

{% 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)