Skip to content
Snippets Groups Projects
Verified Commit 39f6220d authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Fix determination if lesson is within effective dates.

parent 33248a71
No related branches found
No related tags found
No related merge requests found
from collections import OrderedDict from collections import OrderedDict
from datetime import timedelta
from typing import Optional from typing import Optional
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from django.db.models import Count, Exists, OuterRef, Q, Sum from django.db.models import Count, Exists, F, OuterRef, Q, Sum
from django.http import Http404, HttpRequest, HttpResponse from django.http import Http404, HttpRequest, HttpResponse
from django.shortcuts import render from django.shortcuts import render
from django.urls import reverse from django.urls import reverse
...@@ -91,9 +92,6 @@ def group_week(request: HttpRequest, year: Optional[int] = None, week: Optional[ ...@@ -91,9 +92,6 @@ def group_week(request: HttpRequest, year: Optional[int] = None, week: Optional[
else: else:
wanted_week = CalendarWeek() wanted_week = CalendarWeek()
week_start = wanted_week[0]
week_end = wanted_week[-1]
if request.GET.get('group', None): if request.GET.get('group', None):
# Use requested group # Use requested group
group = Group.objects.get(pk=request.GET['group']) group = Group.objects.get(pk=request.GET['group'])
...@@ -112,8 +110,8 @@ def group_week(request: HttpRequest, year: Optional[int] = None, week: Optional[ ...@@ -112,8 +110,8 @@ def group_week(request: HttpRequest, year: Optional[int] = None, week: Optional[
week=wanted_week.week week=wanted_week.week
)) ))
).filter( ).filter(
lesson__date_start__lte=week_start, lesson__date_start__lte=wanted_week[0] + timedelta(days=1) * F('lesson__weekday') - 1,
lesson__date_end__gte=week_end lesson__date_end__gte=wanted_week[0] + timedelta(days=1) * F('lesson__weekday') - 1
).select_related( ).select_related(
'lesson', 'lesson__subject', 'period', 'room' 'lesson', 'lesson__subject', 'period', 'room'
).prefetch_related( ).prefetch_related(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment