Fix problème next

Fix #337
This commit is contained in:
Jean-Marie Favreau 2025-02-26 23:49:54 +01:00
parent cb566f9d39
commit f988b53521

View File

@ -446,7 +446,7 @@ class EventModerateView(
def is_moderation_from_date(self): def is_moderation_from_date(self):
return "m" in self.kwargs and "y" in self.kwargs and "d" in self.kwargs return "m" in self.kwargs and "y" in self.kwargs and "d" in self.kwargs
def get_next_event(start_day, start_time): def get_next_event(start_day, start_time, opk):
# select non moderated events # select non moderated events
qs = Event.objects.filter(moderated_date__isnull=True) qs = Event.objects.filter(moderated_date__isnull=True)
@ -454,7 +454,7 @@ class EventModerateView(
if start_time: if start_time:
qs = qs.filter(Q(start_day__gt=start_day)|(Q(start_day=start_day) & (Q(start_time__isnull=True)|Q(start_time__gt=start_time)))) qs = qs.filter(Q(start_day__gt=start_day)|(Q(start_day=start_day) & (Q(start_time__isnull=True)|Q(start_time__gt=start_time))))
else: else:
qs = qs.filter(Q(start_day__gte=start_day) & ~Q(pk=self.pk)) qs = qs.filter(Q(start_day__gte=start_day) & ~Q(pk=opk))
# get only possibly representative events # get only possibly representative events
qs = qs.filter( qs = qs.filter(
@ -479,7 +479,7 @@ class EventModerateView(
def get_object(self, queryset=None): def get_object(self, queryset=None):
if self.is_starting_moderation(): if self.is_starting_moderation():
now = datetime.now() now = datetime.now()
event = EventModerateView.get_next_event(now.date(), now.time()) event = EventModerateView.get_next_event(now.date(), now.time(), None)
else: else:
event = super().get_object(queryset) event = super().get_object(queryset)
if event.status == Event.STATUS.DRAFT: if event.status == Event.STATUS.DRAFT:
@ -529,7 +529,7 @@ def moderate_event_next(request, pk):
start_day = obj.start_day start_day = obj.start_day
start_time = obj.start_time start_time = obj.start_time
next_obj = EventModerateView.get_next_event(start_day, start_time) next_obj = EventModerateView.get_next_event(start_day, start_time, pk)
if next_obj is None: if next_obj is None:
return render( return render(
request, request,
@ -543,7 +543,7 @@ def moderate_event_next(request, pk):
@permission_required("agenda_culturel.change_event") @permission_required("agenda_culturel.change_event")
def moderate_from_date(request, y, m, d): def moderate_from_date(request, y, m, d):
d = date(y, m, d) d = date(y, m, d)
obj = EventModerateView.get_next_event(d, None) obj = EventModerateView.get_next_event(d, None, None)
return HttpResponseRedirect(reverse_lazy("moderate_event", args=[obj.pk])) return HttpResponseRedirect(reverse_lazy("moderate_event", args=[obj.pk]))