Skip to content

Commit c44dd5c

Browse files
committed
Added support for a meeting session order_number (denoting first session for this group in the meeting, second session, etc.) when filling in URL templates with session info using the 'format' filter. Used for the Meetecho video straming url for a session.
- Legacy-Id: 18174
1 parent 0d0db4b commit c44dd5c

3 files changed

Lines changed: 13 additions & 4 deletions

File tree

ietf/meeting/helpers.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,7 @@ def preprocess_assignments_for_agenda(assignments_queryset, meeting, extra_prefe
195195
for a in assignments:
196196
if a.session:
197197
a.session.historic_group = None
198+
a.session.order_number = None
198199

199200
if a.session.group and a.session.group not in groups:
200201
groups.append(a.session.group)
@@ -212,6 +213,8 @@ def preprocess_assignments_for_agenda(assignments_queryset, meeting, extra_prefe
212213
if a.session.historic_group.parent_id:
213214
parent_id_set.add(a.session.historic_group.parent_id)
214215

216+
a.session.order_number = a.session.order_in_meeting()
217+
215218
parents = Group.objects.filter(pk__in=parent_id_set)
216219
parent_replacements = find_history_replacements_active_at(parents, meeting_time)
217220

ietf/meeting/models.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1004,6 +1004,12 @@ def all_meeting_sessions_for_group(self):
10041004
else:
10051005
return [self]
10061006

1007+
def order_in_meeting(self):
1008+
if not hasattr(self, '_order_in_meeting'):
1009+
session_list = self.all_meeting_sessions_for_group()
1010+
self._order_in_meeting = session_list.index(self) + 1
1011+
return self._order_in_meeting
1012+
10071013
def all_meeting_sessions_cancelled(self):
10081014
return set(s.current_status for s in self.all_meeting_sessions_for_group()) == {'canceled'}
10091015

ietf/utils/templatetags/textfilters.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ def xslugify(value):
3131
@stringfilter
3232
def format(format, values):
3333
if not isinstance(values, dict):
34-
tmp = {}
35-
for f in values._meta.fields:
36-
tmp[f.name] = getattr(values, f.name)
37-
values = tmp
34+
obj = values
35+
values = obj.__dict__
36+
for f in obj._meta.fields:
37+
values[f.name] = getattr(obj, f.name)
3838
return format.format(**values)
3939

4040
# ----------------------------------------------------------------------

0 commit comments

Comments
 (0)