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 @@ ...@@ -5,6 +5,10 @@
{% block page_title %}Timetable{% endblock %} {% block page_title %}Timetable{% endblock %}
{% block content %} {% block content %}
<p>
{{ filter_descs }}
</p>
{% for weekday, lesson_periods_day in lesson_periods.items %} {% for weekday, lesson_periods_day in lesson_periods.items %}
{% include "chronos/tt_day.html" with lesson_periods=lesson_periods_day %} {% include "chronos/tt_day.html" with lesson_periods=lesson_periods_day %}
{% endfor %} {% endfor %}
......
...@@ -2,8 +2,11 @@ from collections import OrderedDict ...@@ -2,8 +2,11 @@ from collections import OrderedDict
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from django.shortcuts import render 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.decorators import admin_required
from biscuit.core.models import Group, Person
from .models import LessonPeriod from .models import LessonPeriod
...@@ -14,22 +17,30 @@ def timetable(request): ...@@ -14,22 +17,30 @@ def timetable(request):
context = {} context = {}
lesson_periods = LessonPeriod.objects.all() lesson_periods = LessonPeriod.objects.all()
filter_descs = []
if 'group' in request.GET: if 'group' in request.GET:
lesson_periods = lesson_periods.filter( 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: if 'teacher' in request.GET:
lesson_periods = lesson_periods.filter( 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: if 'room' in request.GET:
lesson_periods = lesson_periods.filter( 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 = {} per_day = {}
for lesson_period in lesson_periods: for lesson_period in lesson_periods:
for period in lesson_period.periods.all(): per_day.setdefault(lesson_period.period.weekday,
per_day.setdefault(period.weekday, []).append(lesson_period) []).append(lesson_period)
context['lesson_periods'] = OrderedDict(sorted(per_day.items())) context['lesson_periods'] = OrderedDict(sorted(per_day.items()))
context['filter_descs'] = ', '.join(filter_descs)
return render(request, 'chronos/tt_week.html', context) 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