Skip to content

Commit 35759c2

Browse files
committed
Allow an out-of-area AD assigned as the AD for a WG to approve interim requests for that WG. Fixes ietf-tools#2930. Commit ready for merge.
- Legacy-Id: 17538
1 parent c313588 commit 35759c2

2 files changed

Lines changed: 7 additions & 3 deletions

File tree

ietf/meeting/helpers.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -326,8 +326,9 @@ def can_approve_interim_request(meeting, user):
326326
if not session:
327327
return False
328328
group = session.group
329-
if group.type.slug == 'wg' and group.parent.role_set.filter(name='ad', person=person):
330-
return True
329+
if group.type.slug == 'wg':
330+
if group.parent.role_set.filter(name='ad', person=person) or group.role_set.filter(name='ad', person=person):
331+
return True
331332
if group.type.slug == 'rg' and group.parent.role_set.filter(name='chair', person=person):
332333
return True
333334
return False

ietf/meeting/tests_views.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1747,9 +1747,12 @@ def test_can_approve_interim_request(self):
17471747
# related AD
17481748
user = User.objects.get(username='ad')
17491749
self.assertTrue(can_approve_interim_request(meeting=meeting,user=user))
1750-
# other AD
1750+
# AD from other area
17511751
user = User.objects.get(username='ops-ad')
17521752
self.assertFalse(can_approve_interim_request(meeting=meeting,user=user))
1753+
# AD from other area assigned as the WG AD anyhow (cross-area AD)
1754+
user = RoleFactory(name_id='ad',group=group).person.user
1755+
self.assertTrue(can_approve_interim_request(meeting=meeting,user=user))
17531756
# WG Chair
17541757
user = User.objects.get(username='marschairman')
17551758
self.assertFalse(can_approve_interim_request(meeting=meeting,user=user))

0 commit comments

Comments
 (0)