From aacacaee36c141a4b261ece193ec596ad355283c Mon Sep 17 00:00:00 2001 From: Dominik George <nik@naturalnet.de> Date: Wed, 21 Aug 2019 15:36:01 +0200 Subject: [PATCH] Redirect to own timetable if no filter provided, closes #10. --- biscuit/apps/chronos/views.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/biscuit/apps/chronos/views.py b/biscuit/apps/chronos/views.py index cee4166e..44d79651 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 -- GitLab