From 7db98010e237ac7939084874b94c9b1582bcc3e1 Mon Sep 17 00:00:00 2001 From: Robert Sparks <rjsparks@nostrum.com> Date: Thu, 26 Aug 2021 21:51:04 +0000 Subject: [PATCH 1/4] Include new conflict types in the session request notification email. Fixes #3381. Commit ready for merge. - Legacy-Id: 19301 --- ietf/secr/sreq/tests.py | 5 ++++- ietf/secr/sreq/views.py | 2 ++ ietf/secr/templates/includes/session_info.txt | 9 ++------- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ietf/secr/sreq/tests.py b/ietf/secr/sreq/tests.py index f104558a8..a2c9fc11e 100644 --- a/ietf/secr/sreq/tests.py +++ b/ietf/secr/sreq/tests.py @@ -395,6 +395,7 @@ class SubmitRequestCase(TestCase): group = GroupFactory(acronym='ames', parent=area) group2 = GroupFactory(acronym='ames2', parent=area) group3 = GroupFactory(acronym='ames2', parent=area) + group4 = GroupFactory(acronym='ames3', parent=area) RoleFactory(name_id='chair', group=group, person__user__username='ameschairman') resource = ResourceAssociation.objects.create(name_id='project') # Bit of a test data hack - the fixture now has no used resources to pick from @@ -409,7 +410,7 @@ class SubmitRequestCase(TestCase): 'length_session2':'3600', 'attendees':'10', 'bethere':str(ad.pk), - 'constraint_chair_conflict':'', + 'constraint_chair_conflict':group4.acronym, 'comments':'', 'resources': resource.pk, 'session_time_relation': 'subsequent-days', @@ -450,6 +451,8 @@ class SubmitRequestCase(TestCase): self.assertTrue("Can't meet: Thursday early afternoon, Thursday late" in notification_payload) self.assertTrue('Second session joint with: {}'.format(group3.acronym) in notification_payload) self.assertTrue(ad.ascii_name() in notification_payload) + self.assertIn(ConstraintName.objects.get(slug='chair_confict').name, notification_payload) + self.assertIn(group.acronym, notification_payload) class LockAppTestCase(TestCase): def setUp(self): diff --git a/ietf/secr/sreq/views.py b/ietf/secr/sreq/views.py index 7e13e9224..281fc748a 100644 --- a/ietf/secr/sreq/views.py +++ b/ietf/secr/sreq/views.py @@ -373,6 +373,8 @@ def confirm(request, acronym): add_event_info_to_session_qs(Session.objects.filter(group=group, meeting=meeting)).filter(current_status='notmeet').delete() # send notification + session_data['outbound_conflicts'] = [f"{d['name']}: {d['groups']}" for d in outbound_conflicts] + debug.show('session_data["outbound_conflicts"]') send_notification(group,meeting,login,session_data,'new') status_text = 'IETF Agenda to be scheduled' diff --git a/ietf/secr/templates/includes/session_info.txt b/ietf/secr/templates/includes/session_info.txt index 9fc7f72fa..8e7b62e59 100644 --- a/ietf/secr/templates/includes/session_info.txt +++ b/ietf/secr/templates/includes/session_info.txt @@ -9,13 +9,8 @@ Number of Sessions: {{ session.num_session }} Length of Session(s): {{ session.length_session1|display_duration }}{% if session.length_session2 %}, {{ session.length_session2|display_duration }}{% endif %}{% if session.length_session3 %}, {{ session.length_session3|display_duration }}{% endif %} Number of Attendees: {{ session.attendees }} Conflicts to Avoid: -{% if session.conflict1 %} Chair Conflict: {{ session.conflict1 }}{% endif %} -{% if session.conflict2 %} Technology Overlap: {{ session.conflict2 }}{% endif %} -{% if session.conflict3 %} Key Participant Conflict: {{ session.conflict3 }}{% endif %} -{% if session.session_time_relation_display %} {{ session.session_time_relation_display }}{% endif %} -{% if session.adjacent_with_wg %} Adjacent with WG: {{ session.adjacent_with_wg }}{% endif %} -{% if session.timeranges_display %} Can't meet: {{ session.timeranges_display|join:", " }}{% endif %} - +{% for line in session.outbound_conflicts %}{{line}} +{% endfor %} People who must be present: {% for person in session.bethere %} {{ person.ascii_name }} From 771e854a18b3a513a0ff1c7e3d5c114907a6d9b5 Mon Sep 17 00:00:00 2001 From: Robert Sparks <rjsparks@nostrum.com> Date: Thu, 26 Aug 2021 22:03:21 +0000 Subject: [PATCH 2/4] Removed unused cache_page import from mailinglists.views. Commit ready for merge - Legacy-Id: 19302 --- ietf/mailinglists/views.py | 1 - 1 file changed, 1 deletion(-) diff --git a/ietf/mailinglists/views.py b/ietf/mailinglists/views.py index 6bec1dafe..9d3e12bad 100644 --- a/ietf/mailinglists/views.py +++ b/ietf/mailinglists/views.py @@ -3,7 +3,6 @@ import re from django.shortcuts import render -from django.views.decorators.cache import cache_page import debug # pyflakes:ignore From 5f465caa185362bf5665bb7a057fc8b55e577dd3 Mon Sep 17 00:00:00 2001 From: Robert Sparks <rjsparks@nostrum.com> Date: Thu, 26 Aug 2021 22:18:37 +0000 Subject: [PATCH 3/4] Remove unintended debug statement. Commit ready for merge. - Legacy-Id: 19303 --- ietf/secr/sreq/views.py | 1 - 1 file changed, 1 deletion(-) diff --git a/ietf/secr/sreq/views.py b/ietf/secr/sreq/views.py index 281fc748a..121f15a00 100644 --- a/ietf/secr/sreq/views.py +++ b/ietf/secr/sreq/views.py @@ -374,7 +374,6 @@ def confirm(request, acronym): # send notification session_data['outbound_conflicts'] = [f"{d['name']}: {d['groups']}" for d in outbound_conflicts] - debug.show('session_data["outbound_conflicts"]') send_notification(group,meeting,login,session_data,'new') status_text = 'IETF Agenda to be scheduled' From 05390ebb7a8ca97303acb51b33b6e10d4812ef48 Mon Sep 17 00:00:00 2001 From: Robert Sparks <rjsparks@nostrum.com> Date: Thu, 26 Aug 2021 22:42:37 +0000 Subject: [PATCH 4/4] r19301 on session request notificaiton email was faulty (buffers reverted between test and commit). This corrects it. Commit ready for merge. - Legacy-Id: 19304 --- ietf/secr/sreq/tests.py | 2 +- ietf/secr/templates/includes/session_info.txt | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/ietf/secr/sreq/tests.py b/ietf/secr/sreq/tests.py index a2c9fc11e..9beb96ed7 100644 --- a/ietf/secr/sreq/tests.py +++ b/ietf/secr/sreq/tests.py @@ -451,7 +451,7 @@ class SubmitRequestCase(TestCase): self.assertTrue("Can't meet: Thursday early afternoon, Thursday late" in notification_payload) self.assertTrue('Second session joint with: {}'.format(group3.acronym) in notification_payload) self.assertTrue(ad.ascii_name() in notification_payload) - self.assertIn(ConstraintName.objects.get(slug='chair_confict').name, notification_payload) + self.assertIn(ConstraintName.objects.get(slug='chair_conflict').name, notification_payload) self.assertIn(group.acronym, notification_payload) class LockAppTestCase(TestCase): diff --git a/ietf/secr/templates/includes/session_info.txt b/ietf/secr/templates/includes/session_info.txt index 8e7b62e59..db22a520b 100644 --- a/ietf/secr/templates/includes/session_info.txt +++ b/ietf/secr/templates/includes/session_info.txt @@ -9,8 +9,10 @@ Number of Sessions: {{ session.num_session }} Length of Session(s): {{ session.length_session1|display_duration }}{% if session.length_session2 %}, {{ session.length_session2|display_duration }}{% endif %}{% if session.length_session3 %}, {{ session.length_session3|display_duration }}{% endif %} Number of Attendees: {{ session.attendees }} Conflicts to Avoid: -{% for line in session.outbound_conflicts %}{{line}} -{% endfor %} +{% for line in session.outbound_conflicts %} {{line}} +{% endfor %}{% if session.session_time_relation_display %} {{ session.session_time_relation_display }}{% endif %} +{% if session.adjacent_with_wg %} Adjacent with WG: {{ session.adjacent_with_wg }}{% endif %} +{% if session.timeranges_display %} Can't meet: {{ session.timeranges_display|join:", " }}{% endif %} People who must be present: {% for person in session.bethere %} {{ person.ascii_name }}