Skip to content
Snippets Groups Projects
Unverified Commit 8ae2f7e0 authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Add selected filters to view.

parent 8ca8445c
No related branches found
No related tags found
1 merge request!1Add templates for timetable. Advances #1.
......@@ -5,6 +5,10 @@
{% block page_title %}Timetable{% endblock %}
{% block content %}
<p>
{{ filter_descs }}
</p>
{% for weekday, lesson_periods_day in lesson_periods.items %}
{% include "chronos/tt_day.html" with lesson_periods=lesson_periods_day %}
{% endfor %}
......
......@@ -2,8 +2,11 @@ from collections import OrderedDict
from django.contrib.auth.decorators import login_required
from django.shortcuts import render
from django.utils.translation import gettext_lazy as _
from biscuit.apps.cambro.models import Room
from biscuit.core.decorators import admin_required
from biscuit.core.models import Group, Person
from .models import LessonPeriod
......@@ -14,22 +17,30 @@ def timetable(request):
context = {}
lesson_periods = LessonPeriod.objects.all()
filter_descs = []
if 'group' in request.GET:
lesson_periods = lesson_periods.filter(
lesson__groups__pk__contains=int(request.GET('group')))
lesson__groups__pk__contains=int(request.GET['group']))
filter_descs.append(_('Group: %s') % Group.objects.get(
pk=int(request.GET['group'])).name)
if 'teacher' in request.GET:
lesson_periods = lesson_periods.filter(
lesson__teachers__pk__contains=int(request.GET('teacher')))
lesson__teachers__pk__contains=int(request.GET['teacher']))
filter_descs.append(_('Teacher: %s') % Person.objects.get(
pk=int(request.GET['teacher'])).name)
if 'room' in request.GET:
lesson_periods = lesson_periods.filter(
room__pk=int(request.GET('room')))
room__pk=int(request.GET['room']))
filter_descs.append(_('Room: %s') % Room.objects.get(
pk=int(request.GET['room'])).name)
per_day = {}
for lesson_period in lesson_periods:
for period in lesson_period.periods.all():
per_day.setdefault(period.weekday, []).append(lesson_period)
per_day.setdefault(lesson_period.period.weekday,
[]).append(lesson_period)
context['lesson_periods'] = OrderedDict(sorted(per_day.items()))
context['filter_descs'] = ', '.join(filter_descs)
return render(request, 'chronos/tt_week.html', context)
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