diff options
Diffstat (limited to 'views.py')
-rw-r--r-- | views.py | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -65,10 +65,11 @@ def group_list(request, year_slug, timetable_slug): def timetable(request, year_slug, timetable_slug, group_slug, year=None, week=None): current_year, current_week = get_current_or_next_week() - is_old_timetable = False + is_old_timetable, provided_week = False, True if year is None or week is None: year, week = current_year, current_week + provided_week = False elif (int(year), int(week)) < (current_year, current_week): is_old_timetable = True @@ -81,14 +82,14 @@ def timetable(request, year_slug, timetable_slug, group_slug, year=None, week=No return group_list_common(request, timetable, Group.objects.get_relevant_children(group)) courses = Course.objects.get_courses_for_group(group, begin__gte=start, begin__lt=end) - if courses.count() == 0: + if courses.count() == 0 and provided_week: raise Http404 - last_update = courses.aggregate(Max("last_update")) + last_update = courses.aggregate(Max("last_update"))["last_update__max"] grouped_courses = group_courses(courses) return render(request, "timetable.html", {"group": group, "courses": grouped_courses, - "last_update": last_update["last_update__max"], + "last_update": last_update, "year": year, "week": int(week), "is_old_timetable": is_old_timetable}) |