diff --git a/biscuit/apps/chronos/views.py b/biscuit/apps/chronos/views.py index cee4166e0616913ee426206bfc57d26062ac30c0..44d79651b9bbca03b99ab8d9ef123473119afb83 100644 --- a/biscuit/apps/chronos/views.py +++ b/biscuit/apps/chronos/views.py @@ -1,7 +1,8 @@ from collections import OrderedDict from django.contrib.auth.decorators import login_required -from django.shortcuts import render +from django.core.urlresolvers import reverse +from django.shortcuts import redirect, render from django.utils.translation import gettext_lazy as _ from biscuit.core.decorators import admin_required @@ -23,16 +24,22 @@ def timetable(request): lesson__groups__pk=int(request.GET['group'])) filter_descs.append(_('Group: %s') % Group.objects.get( pk=int(request.GET['group']))) - if 'teacher' in request.GET: + elif 'teacher' in request.GET: lesson_periods = lesson_periods.filter( lesson__teachers__pk=int(request.GET['teacher'])) filter_descs.append(_('Teacher: %s') % Person.objects.get( pk=int(request.GET['teacher']))) - if 'room' in request.GET: + elif 'room' in request.GET: lesson_periods = lesson_periods.filter( room__pk=int(request.GET['room'])) filter_descs.append(_('Room: %s') % Room.objects.get( pk=int(request.GET['room']))) + else: + if request.user.person: + if request.user.person.primary_group: + return redirect(reverse('timetable') + '?group=%d' % request.user.person.primary_group.pk) + elif lesson_periods.filter(lesson__teachers=request.user.person).exists(): + return redirect(reverse('timetable') + '?teacher=%d' % request.user.person.pk) per_day = {} period_min, period_max = None, None