fix: use area-acronym-at-the-time in proceedings (#7723)

When generating IETF meeting proceedings, use the Area Acronym for each WG at the time of the meeting. Fixes #7706.
This commit is contained in:
Russ Housley 2024-08-05 12:03:17 -04:00 committed by GitHub
parent 16ac73d4b7
commit 63d13074d1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -4131,6 +4131,13 @@ def organize_proceedings_sessions(sessions):
def proceedings(request, num=None):
def area_and_group_acronyms_from_session(s):
area = s.group_parent_at_the_time()
if area == None:
area = s.group.parent
group = s.group_at_the_time()
return (area.acronym, group.acronym)
meeting = get_meeting(num)
# Early proceedings were hosted on www.ietf.org rather than the datatracker
@ -4181,12 +4188,11 @@ def proceedings(request, num=None):
.exclude(current_status='notmeet')
)
ietf = sessions.filter(group__parent__type__slug = 'area').exclude(group__acronym='edu').order_by('group__parent__acronym', 'group__acronym')
ietf = sessions.filter(group__parent__type__slug = 'area').exclude(group__acronym__in=['edu','iepg','tools'])
ietf = list(ietf)
ietf.sort(key=lambda s: area_and_group_acronyms_from_session(s))
ietf_areas = []
for area, area_sessions in itertools.groupby(
ietf,
key=lambda s: s.group.parent
):
for area, area_sessions in itertools.groupby(ietf, key=lambda s: s.group_parent_at_the_time()):
meeting_groups, not_meeting_groups = organize_proceedings_sessions(area_sessions)
ietf_areas.append((area, meeting_groups, not_meeting_groups))