diff options
Diffstat (limited to 'views.py')
-rw-r--r-- | views.py | 34 |
1 files changed, 21 insertions, 13 deletions
@@ -49,13 +49,16 @@ def mention_list(request, year_slug): def group_list(request, year_slug, timetable_slug): - timetable = get_object_or_404(Timetable, year__slug=year_slug, slug=timetable_slug) + timetable = get_object_or_404(Timetable, year__slug=year_slug, + slug=timetable_slug) start, _ = get_week(*get_current_week()) end = start + datetime.timedelta(weeks=4) - groups = Group.objects.get_relevant_groups(start, source=timetable.source, hidden=False) - groups_weeks = Course.objects.get_weeks(begin__gte=start, begin__lt=end, groups__in=groups) + groups = Group.objects.get_relevant_groups(start, source=timetable.source, + hidden=False) + groups_weeks = Course.objects.get_weeks(begin__gte=start, begin__lt=end, + groups__in=groups) for group in groups: for group_week in groups_weeks: @@ -97,20 +100,25 @@ def timetable_common(request, obj, year=None, week=None, timetable=None): # Récupération des semaines suivantes et précédentes pour les # afficher proprement dans l’emploi du temps - last_week = getattr(Course.objects.get_courses(obj, begin__lt=start).last(), "begin", None) - next_week = getattr(Course.objects.get_courses(obj, begin__gte=end).first(), "begin", None) + last_course = Course.objects.get_courses(obj, begin__lt=start).last() + last_week = getattr(last_course, "begin", None) + + next_course = Course.objects.get_courses(obj, begin__gte=end).first() + next_week = getattr(next_course, "begin", None) last_update = courses.aggregate(Max("last_update"))["last_update__max"] grouped_courses = group_courses(courses) - return render(request, "timetable.html", {"group": obj, "courses": grouped_courses, - "last_update": last_update, - "year": year, "week": int(week), - "last_week": last_week, - "next_week": next_week, - "is_old_timetable": is_old_timetable, - "group_mode": isinstance(obj, Group), - "timetable": timetable}) + return render(request, "timetable.html", + {"group": obj, "courses": grouped_courses, + "last_update": last_update, + "year": year, "week": int(week), + "last_week": last_week, + "next_week": next_week, + "is_old_timetable": is_old_timetable, + "group_mode": isinstance(obj, Group), + "timetable": timetable}) + def timetable(request, year_slug, timetable_slug, group_slug, year=None, week=None): |