Skip to content

Commit d227f1d

Browse files
committed
Merged in [18414] from olau@iola.dk:
Compute session order from available data instead of going through the database again (saves ~2800 queries on the IETF 106 agenda page) - Legacy-Id: 18453 Note: SVN reference [18414] has been migrated to Git commit ca05791
1 parent e9bebe1 commit d227f1d

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

ietf/meeting/helpers.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# -*- coding: utf-8 -*-
33

44

5+
from collections import defaultdict
56
import datetime
67
import io
78
import os
@@ -204,6 +205,11 @@ def preprocess_assignments_for_agenda(assignments_queryset, meeting, extra_prefe
204205
if a.session.group and a.session.group not in groups:
205206
groups.append(a.session.group)
206207

208+
sessions_for_groups = defaultdict(list)
209+
for a in assignments:
210+
if a.session and a.session.group:
211+
sessions_for_groups[(a.session.group, a.session.type_id)].append(a)
212+
207213
group_replacements = find_history_replacements_active_at(groups, meeting_time)
208214

209215
parent_id_set = set()
@@ -217,7 +223,8 @@ def preprocess_assignments_for_agenda(assignments_queryset, meeting, extra_prefe
217223
if a.session.historic_group.parent_id:
218224
parent_id_set.add(a.session.historic_group.parent_id)
219225

220-
a.session.order_number = a.session.order_in_meeting()
226+
l = sessions_for_groups.get((a.session.group, a.session.type_id), [])
227+
a.session.order_number = l.index(a) + 1 if a in l else 0
221228

222229
parents = Group.objects.filter(pk__in=parent_id_set)
223230
parent_replacements = find_history_replacements_active_at(parents, meeting_time)

0 commit comments

Comments
 (0)