From ebdadf38f2a59fffdb9b1ea64732f7203be3229f Mon Sep 17 00:00:00 2001 From: Robert Sparks Date: Sat, 21 Mar 2020 19:40:17 +0000 Subject: [PATCH] Let chairs know what to do after material submission uploads have been cut off. Fixes #2887. Commit ready for merge. - Legacy-Id: 17487 --- ietf/meeting/tests_views.py | 18 ++++++++++++++++++ ietf/meeting/views.py | 1 + ietf/templates/meeting/session_details.html | 6 ++++++ 3 files changed, 25 insertions(+) diff --git a/ietf/meeting/tests_views.py b/ietf/meeting/tests_views.py index 853dc9b6c..d8f22bda4 100644 --- a/ietf/meeting/tests_views.py +++ b/ietf/meeting/tests_views.py @@ -1093,6 +1093,24 @@ class SessionDetailsTests(TestCase): r = self.client.get(url) self.assertTrue(all([x in unicontent(r) for x in ('slides','agenda','minutes','draft')])) self.assertNotContains(r, 'deleted') + + def test_session_details_past_interim(self): + group = GroupFactory.create(type_id='wg',state_id='active') + chair = RoleFactory(name_id='chair',group=group) + session = SessionFactory.create(meeting__type_id='interim',group=group, meeting__date=datetime.date.today()-datetime.timedelta(days=90)) + SessionPresentationFactory.create(session=session,document__type_id='draft',rev=None) + SessionPresentationFactory.create(session=session,document__type_id='minutes') + SessionPresentationFactory.create(session=session,document__type_id='slides') + SessionPresentationFactory.create(session=session,document__type_id='agenda') + + url = urlreverse('ietf.meeting.views.session_details', kwargs=dict(num=session.meeting.number, acronym=group.acronym)) + r = self.client.get(url) + self.assertEqual(r.status_code,200) + self.assertNotIn('The materials upload cutoff date for this session has passed', unicontent(r)) + r = self.client.get(url) + self.assertEqual(r.status_code,200) + self.client.login(username=chair.person.user.username,password=chair.person.user.username+'+password') + self.assertTrue(all([x in unicontent(r) for x in ('slides','agenda','minutes','draft')])) def test_add_session_drafts(self): group = GroupFactory.create(type_id='wg',state_id='active') diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py index 45ee294c4..11785b121 100644 --- a/ietf/meeting/views.py +++ b/ietf/meeting/views.py @@ -1176,6 +1176,7 @@ def session_details(request, num, acronym): 'pending_suggestions' : pending_suggestions, 'meeting' :meeting , 'acronym' :acronym, + 'is_materials_manager' : session.group.has_role(request.user, session.group.features.matman_roles), 'can_manage_materials' : can_manage, 'thisweek': datetime.date.today()-datetime.timedelta(days=7), }) diff --git a/ietf/templates/meeting/session_details.html b/ietf/templates/meeting/session_details.html index 930ccd15f..0415f0b84 100644 --- a/ietf/templates/meeting/session_details.html +++ b/ietf/templates/meeting/session_details.html @@ -21,6 +21,12 @@ {% endif %} + {% if is_materials_manager and not can_manage_materials %} +
+ The materials upload cutoff date for this session has passed. If you need to change the materials, contact the Secretariat. +
+ {% endif %} + {% with use_panels=unscheduled_sessions %} {% if use_panels %}