diff --git a/biscuit/apps/chronos/views.py b/biscuit/apps/chronos/views.py index 3f2001b77dc78e535c267399f817cd4ab661d701..09b0be2f116a2335c1a28b4dd056c05e0f626335 100644 --- a/biscuit/apps/chronos/views.py +++ b/biscuit/apps/chronos/views.py @@ -3,10 +3,31 @@ from django.shortcuts import render from biscuit.core.decorators import admin_required +from .models import LessonPeriod + @login_required @admin_required def timetable(request): context = {} + lesson_periods = LessonPeriod.objects.all() + + if 'group' in request.GET: + lesson_periods = lesson_periods.filter( + lesson__groups__pk__contains=int(request.GET('group'))) + if 'teacher' in request.GET: + lesson_periods = lesson_periods.filter( + lesson__teachers__pk__contains=int(request.GET('teacher'))) + if 'room' in request.GET: + lesson_periods = lesson_periods.filter( + room__pk=int(request.GET('room'))) + + per_day = {} + for lesson_period in lesson_periods: + for period in lesson_period.periods.all(): + per_day.setdefault(period.weekday, []).append(lesson_period) + + context['lesson_periods'] = per_day + return render(request, 'chronos/tt_week.html', context)