From 36498fc9cbec4d89e53245edc36f143cde858e58 Mon Sep 17 00:00:00 2001 From: Kesara Rathnayake Date: Tue, 25 Jul 2023 22:24:15 +1200 Subject: [PATCH] fix: Add editorial stream to meeting materials Fixes #6042 --- ietf/meeting/tests_views.py | 18 ++++++++++++++ ietf/meeting/views.py | 9 ++++--- ietf/templates/meeting/materials.html | 36 +++++++++++++++++++++++++++ 3 files changed, 60 insertions(+), 3 deletions(-) diff --git a/ietf/meeting/tests_views.py b/ietf/meeting/tests_views.py index 5f68ba1fd4f..9609fad3df8 100644 --- a/ietf/meeting/tests_views.py +++ b/ietf/meeting/tests_views.py @@ -648,6 +648,20 @@ def do_test_materials(self, meeting, session): self.assertFalse(row.find("a:contains(\"Bad Slideshow\")")) # test with no meeting number in url + # Add various group sessions + groups = [] + parent_groups = [ + GroupFactory.create(type_id="area", acronym="gen"), + GroupFactory.create(acronym="iab"), + GroupFactory.create(acronym="irtf"), + ] + for parent in parent_groups: + groups.append(GroupFactory.create(parent=parent)) + for acronym in ["rsab", "edu"]: + groups.append(GroupFactory.create(acronym=acronym)) + for group in groups: + SessionFactory(meeting=meeting, group=group) + self.write_materials_files(meeting, session) url = urlreverse("ietf.meeting.views.materials", kwargs=dict()) r = self.client.get(url) self.assertEqual(r.status_code, 200) @@ -657,6 +671,10 @@ def do_test_materials(self, meeting, session): self.assertTrue(row.find('a:contains("Minutes")')) self.assertTrue(row.find('a:contains("Slideshow")')) self.assertFalse(row.find("a:contains(\"Bad Slideshow\")")) + # test for different sections + sections = ["plenaries", "gen", "iab", "editorial", "irtf", "training"] + for section in sections: + self.assertEqual(len(q(f"#{section}")), 1, f"{section} section should exists in proceedings") # test with a loggged-in wg chair self.client.login(username="marschairman", password="marschairman+password") diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py index d7b072bfc41..e0364e63b5b 100644 --- a/ietf/meeting/views.py +++ b/ietf/meeting/views.py @@ -159,18 +159,19 @@ def materials(request, num=None): irtf = sessions.filter(group__parent__acronym = 'irtf') training = sessions.filter(group__acronym__in=['edu','iaoc'], type_id__in=['regular', 'other', ]) iab = sessions.filter(group__parent__acronym = 'iab') + editorial = sessions.filter(group__acronym__in=['rsab','rswg']) - session_pks = [s.pk for ss in [plenaries, ietf, irtf, training, iab] for s in ss] + session_pks = [s.pk for ss in [plenaries, ietf, irtf, training, iab, editorial] for s in ss] other = sessions.filter(type__in=['regular'], group__type__features__has_meetings=True).exclude(pk__in=session_pks) - for topic in [plenaries, ietf, training, irtf, iab]: + for topic in [plenaries, ietf, training, irtf, iab, editorial]: for event in topic: date_list = [] for slide_event in event.all_meeting_slides(): date_list.append(slide_event.time) for agenda_event in event.all_meeting_agendas(): date_list.append(agenda_event.time) if date_list: setattr(event, 'last_update', sorted(date_list, reverse=True)[0]) - for session_list in [plenaries, ietf, training, irtf, iab, other]: + for session_list in [plenaries, ietf, training, irtf, iab, editorial, other]: for session in session_list: session.past_cutoff_date = past_cutoff_date @@ -183,6 +184,7 @@ def materials(request, num=None): irtf, _ = organize_proceedings_sessions(irtf) training, _ = organize_proceedings_sessions(training) iab, _ = organize_proceedings_sessions(iab) + editorial, _ = organize_proceedings_sessions(editorial) other, _ = organize_proceedings_sessions(other) ietf_areas = [] @@ -202,6 +204,7 @@ def materials(request, num=None): 'training': training, 'irtf': irtf, 'iab': iab, + 'editorial': editorial, 'other': other, 'cut_off_date': cut_off_date, 'cor_cut_off_date': cor_cut_off_date, diff --git a/ietf/templates/meeting/materials.html b/ietf/templates/meeting/materials.html index 667ce723531..ff4964a9735 100644 --- a/ietf/templates/meeting/materials.html +++ b/ietf/templates/meeting/materials.html @@ -190,6 +190,42 @@

{% endif %} + + {% if editorial %} +

Editorial Stream

+ + + + + + + + + + {% if user|has_role:"Secretariat" or user_groups %} + + {% endif %} + + + + {% for entry in editorial %} + {% include "meeting/group_materials.html" %} + {% endfor %} + +
+ Group + + Agenda + + Minutes + + Slides + + Internet-Drafts + + Updated +
+ {% endif %} {% if other %}

Other Miscellaneous other sessions