diff --git a/symposion/schedule/timetable.py b/symposion/schedule/timetable.py index dd32e23c..2aba1de3 100644 --- a/symposion/schedule/timetable.py +++ b/symposion/schedule/timetable.py @@ -1,7 +1,7 @@ import itertools import operator -from django.db.models import Count +from django.db.models import Count, Min from symposion.schedule.models import Room, Slot, SlotRoom @@ -25,8 +25,9 @@ class TimeTable(object): def __iter__(self): times = sorted(set(itertools.chain(*self.slots_qs().values_list("start", "end")))) - slots = Slot.objects.filter(pk__in=self.slots_qs().order_by("start", "slotroom__room__order").values("pk")) - slots = slots.annotate(room_count=Count("slotroom")) + slots = Slot.objects.filter(pk__in=self.slots_qs().values("pk")) + slots = slots.annotate(room_count=Count("slotroom"), order=Min("slotroom__room__order")) + slots = slots.order_by("start", "order") row = [] for time, next_time in pairwise(times): row = {"time": time, "slots": []} diff --git a/symposion/templates/schedule/_grid.html b/symposion/templates/schedule/_grid.html index cb4ffe1a..d610abd2 100644 --- a/symposion/templates/schedule/_grid.html +++ b/symposion/templates/schedule/_grid.html @@ -12,9 +12,10 @@