From 8737808e4b270591d1004e98fe9811f0fef26923 Mon Sep 17 00:00:00 2001 From: Ryan Cross Date: Sat, 31 Oct 2015 04:51:31 +0000 Subject: [PATCH] Fixes Ticket #1791. Secretariat locked out of Session Request Tool. Commit ready for merge - Legacy-Id: 10339 --- ietf/secr/sreq/tests.py | 15 +++++++++++++-- ietf/secr/sreq/views.py | 2 +- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/ietf/secr/sreq/tests.py b/ietf/secr/sreq/tests.py index c873f16c5..2d0d0cca2 100644 --- a/ietf/secr/sreq/tests.py +++ b/ietf/secr/sreq/tests.py @@ -93,9 +93,20 @@ class LockAppTestCase(TestCase): meeting.save() group = Group.objects.get(acronym='mars') url = reverse('sessions_new',kwargs={'acronym':group.acronym}) + + # try as WG Chair + self.client.login(username="marschairman", password="marschairman+password") + r = self.client.get(url,follow=True) + self.assertEqual(r.status_code, 200) + q = PyQuery(r.content) + self.assertEqual(len(q('#session-request-form')),0) + + # try as Secretariat self.client.login(username="secretary", password="secretary+password") - r = self.client.get(url) - self.assertEqual(r.status_code, 302) + r = self.client.get(url,follow=True) + self.assertEqual(r.status_code, 200) + q = PyQuery(r.content) + self.assertEqual(len(q('#session-request-form')),1) class EditRequestCase(TestCase): pass diff --git a/ietf/secr/sreq/views.py b/ietf/secr/sreq/views.py index 0bf47be9a..436cf9e8b 100644 --- a/ietf/secr/sreq/views.py +++ b/ietf/secr/sreq/views.py @@ -543,7 +543,7 @@ def new(request, acronym): # check if app is locked is_locked = check_app_locked() - if is_locked: + if is_locked and not has_role(request.user,'Secretariat'): messages.warning(request, "The Session Request Tool is closed") return redirect('sessions')