From 553856239753e02c7c22debef32539c5946cc3b5 Mon Sep 17 00:00:00 2001 From: Jean-Marie Favreau Date: Thu, 9 Nov 2023 23:59:11 +0100 Subject: [PATCH] =?UTF-8?q?les=20utilisateurs=20non=20connect=C3=A9s=20ne?= =?UTF-8?q?=20voient=20pas=20les=20=C3=A9v=C3=A9nements=20qui=20ne=20sont?= =?UTF-8?q?=20pas=20publi=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/agenda_culturel/views.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/agenda_culturel/views.py b/src/agenda_culturel/views.py index e6c3d56..b8c0d87 100644 --- a/src/agenda_culturel/views.py +++ b/src/agenda_culturel/views.py @@ -25,6 +25,13 @@ from django.contrib.auth.decorators import login_required import unicodedata +def get_event_qs(request): + if request.user.is_authenticated: + return Event.objects.all() + else: + return Event.objects.filter(status=Event.STATUS.PUBLISHED) + + def daterange(start, end, step=timedelta(1)): if end is None: yield start @@ -230,7 +237,7 @@ def month_view(request, year = None, month = None): if month is None: month = now.month - filter = EventFilter(request.GET, queryset=Event.objects.all(), request=request) + filter = EventFilter(request.GET, queryset=get_event_qs(request), request=request) cmonth = CalendarMonth(year, month, filter) @@ -245,7 +252,7 @@ def week_view(request, year = None, week = None, home=True): if week is None: week = now.isocalendar()[1] - filter = EventFilter(request.GET, queryset=Event.objects.all(), request=request) + filter = EventFilter(request.GET, queryset=get_event_qs(request), request=request) cweek = CalendarWeek(year, week, filter) context = {"year": year, "week": week, "calendar": cweek, "filter": filter } @@ -265,7 +272,7 @@ def day_view(request, year = None, month = None, day = None): day = date(year, month, day) - filter = EventFilter(request.GET, Event.objects.all(), request=request) + filter = EventFilter(request.GET, get_event_qs(request), request=request) events = filter.qs.filter((Q(start_day__lte=day) & (Q(end_day__gte=day)) | Q(start_day=day))).order_by("start_day", F("start_time").desc(nulls_last=True)) context = {"day": day, "events": events, "filter": filter} @@ -382,7 +389,7 @@ class EventFilterAdmin(django_filters.FilterSet): @login_required(login_url="/accounts/login/") def event_list(request): - filter = EventFilterAdmin(request.GET, queryset=Event.objects.all()) + filter = EventFilterAdmin(request.GET, queryset=Event.objects.all().order_by("-created_date")) paginator = Paginator(filter.qs, 10) page = request.GET.get('page')