From b6c3a8f1f81591880ccb6b0740ddd2c22a60b6c6 Mon Sep 17 00:00:00 2001 From: "Mark J. Donnelly" Date: Mon, 27 Jul 2020 04:31:50 +0000 Subject: [PATCH] Add IETF sessions to the types that emit parent group name in the session assignment slug, so that the parent group name will be present on the HTML row ID in the agenda for IAB sessions. Also update the wording on special sessions. Fixes #3034. Commit ready for merge. - Legacy-Id: 18282 --- ietf/meeting/models.py | 2 +- ietf/meeting/tests_views.py | 41 ++++++++++++++++++++++++++++++ ietf/templates/meeting/agenda.html | 2 +- 3 files changed, 43 insertions(+), 2 deletions(-) diff --git a/ietf/meeting/models.py b/ietf/meeting/models.py index f68b602b2..251c89359 100644 --- a/ietf/meeting/models.py +++ b/ietf/meeting/models.py @@ -815,7 +815,7 @@ class SchedTimeSessAssignment(models.Model): components.append("1plenary") else: p = getattr(g, "historic_parent", None) or g.parent - if p and p.type_id in ("area", "irtf"): + if p and p.type_id in ("area", "irtf", 'ietf'): components.append(p.acronym) components.append(g.acronym) diff --git a/ietf/meeting/tests_views.py b/ietf/meeting/tests_views.py index 596b9b3a1..f39814bea 100644 --- a/ietf/meeting/tests_views.py +++ b/ietf/meeting/tests_views.py @@ -226,6 +226,47 @@ class MeetingTests(TestCase): self.assertContains(r, session.group.acronym) self.assertContains(r, slot.location.name) + def test_agenda_iab_session(self): + date = datetime.date.today() + meeting = MeetingFactory(type_id='ietf', date=date ) + make_meeting_test_data(meeting=meeting) + + iab = Group.objects.get(acronym='iab') + venus = Group.objects.create( + name="Three letter acronym", + acronym="venus", + description="This group discusses exploration of Venus", + state_id="active", + type_id="program", + parent=iab, + list_email="venus@ietf.org", + ) + venus_session = Session.objects.create( + meeting=meeting, + group=venus, + attendees=10, + requested_duration=datetime.timedelta(minutes=60), + type_id='regular', + ) + system_person = Person.objects.get(name="(System)") + SchedulingEvent.objects.create(session=venus_session, status_id='schedw', by=system_person) + room = Room.objects.create(meeting=meeting, + name="Aphrodite", + capacity=100, + functional_name="Aphrodite Room") + room.session_types.add('regular') + session_date = meeting.date + datetime.timedelta(days=1) + slot3 = TimeSlot.objects.create(meeting=meeting, type_id='regular', location=room, + duration=datetime.timedelta(minutes=60), + time=datetime.datetime.combine(session_date, datetime.time(13, 30))) + SchedTimeSessAssignment.objects.create(timeslot=slot3, session=venus_session, schedule=meeting.schedule) + url = urlreverse('ietf.meeting.views.agenda', kwargs=dict(num=meeting.number)) + r = self.client.get(url) + self.assertContains(r, 'venus') + q = PyQuery(r.content) + venus_row = q('[id*="-iab-"]').html() + self.assertIn('venus', venus_row) + def test_agenda_current_audio(self): date = datetime.date.today() meeting = MeetingFactory(type_id='ietf', date=date ) diff --git a/ietf/templates/meeting/agenda.html b/ietf/templates/meeting/agenda.html index 75bf2d4b4..d8dc1709d 100644 --- a/ietf/templates/meeting/agenda.html +++ b/ietf/templates/meeting/agenda.html @@ -118,7 +118,7 @@ {% else %}
No WG / RG data available -- no WG / RG sessions have been scheduled yet.
{% endif %} -

Also show sessions of these groups:

+

Also show special sessions of these groups: