From 844890eadcafc3b389a247d71d7f75deb437432c Mon Sep 17 00:00:00 2001
From: Robert Sparks <rjsparks@nostrum.com>
Date: Mon, 14 Feb 2022 18:02:17 +0000
Subject: [PATCH] Merged in [19919] from rjsparks@nostrum.com:

    Allow secretariat to edit session requests when tool is closed to chairs. Fixes #3547.
 - Legacy-Id: 19927
Note: SVN reference [19919] has been migrated to Git commit c8a99dcec4112169a286406aa2c6f5c1b3e3d62c
---
 ietf/secr/sreq/tests.py | 6 ++++++
 ietf/secr/sreq/views.py | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/ietf/secr/sreq/tests.py b/ietf/secr/sreq/tests.py
index f01721358..25942638f 100644
--- a/ietf/secr/sreq/tests.py
+++ b/ietf/secr/sreq/tests.py
@@ -733,6 +733,12 @@ class LockAppTestCase(TestCase):
         r = self.client.get(url)
         self.assertEqual(r.status_code, 200)
         q = PyQuery(r.content)
+        self.assertEqual(len(q(':disabled[name="submit"]')), 0)
+        chair = self.group.role_set.filter(name_id='chair').first().person.user.username
+        self.client.login(username=chair, password=f'{chair}+password')
+        r = self.client.get(url)
+        self.assertEqual(r.status_code, 200)
+        q = PyQuery(r.content)
         self.assertEqual(len(q(':disabled[name="submit"]')), 1)
     
     def test_view_request(self):
diff --git a/ietf/secr/sreq/views.py b/ietf/secr/sreq/views.py
index dfac32363..f0e708323 100644
--- a/ietf/secr/sreq/views.py
+++ b/ietf/secr/sreq/views.py
@@ -572,7 +572,7 @@ def edit(request, acronym, num=None):
         form = FormClass(group, meeting, initial=initial)
 
     return render(request, 'sreq/edit.html', {
-        'is_locked': is_locked,
+        'is_locked': is_locked and not has_role(request.user,'Secretariat'),
         'is_virtual': meeting.number in settings.SECR_VIRTUAL_MEETINGS,
         'meeting': meeting,
         'form': form,