Skip to content

Commit f043797

Browse files
fix: include IRTF and BoF groups on meeting requests page (ietf-tools#4528)
* fix: include IRTF and BoF groups on meeting requests page * test: test bof/irtf groups on the meeting requests page * chore: remove some accidentally committed changes * style: improve formatting of requests.html template
1 parent 3e2b1fc commit f043797

3 files changed

Lines changed: 35 additions & 4 deletions

File tree

ietf/meeting/tests_views.py

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6458,7 +6458,7 @@ def test_meeting_requests(self):
64586458
group_type_without_meetings = 'editorial'
64596459
self.assertFalse(GroupFeatures.objects.get(pk=group_type_without_meetings).has_meetings)
64606460

6461-
area = GroupFactory(type_id='area')
6461+
area = GroupFactory(type_id='area', acronym='area')
64626462
requested_session = SessionFactory(meeting=meeting,group__parent=area,status_id='schedw',add_to_schedule=False)
64636463
conflicting_session = SessionFactory(meeting=meeting,group__parent=area,status_id='schedw',add_to_schedule=False)
64646464
ConstraintFactory(name_id='key_participant',meeting=meeting,source=requested_session.group,target=conflicting_session.group)
@@ -6498,7 +6498,21 @@ def test_meeting_requests(self):
64986498
status_id='schedw',
64996499
add_to_schedule=False,
65006500
)
6501-
6501+
# bof sessions should be shown
6502+
bof_session = SessionFactory(
6503+
meeting=meeting,
6504+
group__parent=area,
6505+
group__state_id='bof',
6506+
status_id='schedw',
6507+
add_to_schedule=False,
6508+
)
6509+
# rg sessions should be shown under 'irtf' heading
6510+
rg_session = SessionFactory(
6511+
meeting=meeting,
6512+
group__type_id='rg',
6513+
status_id='schedw',
6514+
add_to_schedule=False,
6515+
)
65026516
def _sreq_edit_link(sess):
65036517
return urlreverse(
65046518
'ietf.secr.sreq.views.edit',
@@ -6531,6 +6545,17 @@ def _sreq_edit_link(sess):
65316545
self.assertContains(r, _sreq_edit_link(has_meetings_not_meeting)) # link to the session request
65326546
self.assertNotContains(r, not_has_meetings.group.acronym)
65336547
self.assertNotContains(r, _sreq_edit_link(not_has_meetings)) # no link to the session request
6548+
self.assertContains(r, bof_session.group.acronym)
6549+
self.assertContains(r, _sreq_edit_link(bof_session)) # link to the session request
6550+
self.assertContains(r, rg_session.group.acronym)
6551+
self.assertContains(r, _sreq_edit_link(rg_session)) # link to the session request
6552+
# check headings - note that the special types (has_meetings, etc) do not have a group parent
6553+
# so they show up in 'other'
6554+
q = PyQuery(r.content)
6555+
self.assertEqual(len(q('h2#area')), 1)
6556+
self.assertEqual(len(q('h2#other-groups')), 1)
6557+
self.assertEqual(len(q('h2#irtf')), 1) # rg group has irtf group as parent
6558+
65346559

65356560
def test_request_minutes(self):
65366561
meeting = MeetingFactory(type_id='ietf')

ietf/meeting/views.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2320,7 +2320,10 @@ def agenda_json(request, num=None):
23202320

23212321
def meeting_requests(request, num=None):
23222322
meeting = get_meeting(num)
2323-
groups_to_show = Group.objects.filter(state_id='active', type__features__has_meetings=True)
2323+
groups_to_show = Group.objects.filter(
2324+
state_id__in=('active', 'bof'),
2325+
type__features__has_meetings=True,
2326+
)
23242327
sessions = list(
23252328
Session.objects.requests().filter(
23262329
meeting__number=meeting.number,
@@ -2340,7 +2343,7 @@ def meeting_requests(request, num=None):
23402343
for s in sessions:
23412344
s.current_status_name = status_names.get(s.current_status, s.current_status)
23422345
s.requested_by_person = session_requesters.get(s.requested_by)
2343-
if s.group.parent and s.group.parent.type.slug == 'area':
2346+
if s.group.parent and s.group.parent.type.slug in ('area', 'irtf'):
23442347
s.display_area = s.group.parent
23452348
else:
23462349
s.display_area = None

ietf/templates/meeting/requests.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,9 @@ <h2 class="mt-5" id="{% firstof area.grouper.acronym "other-groups" %}">
6868
<i class="bi bi-people-fill"></i> {{ session.attendees }}
6969
</div>
7070
{% endif %}
71+
{% if session.group.is_bof %}
72+
<span class="badge bg-success float-end">BOF</span>
73+
{% endif %}
7174
</td>
7275
<td class="d-none d-lg-table-cell">
7376
{% if session.requested_duration %}{{ session.requested_duration|stringformat:"s"|slice:"0:4" }}{% endif %}

0 commit comments

Comments
 (0)