From c6d1a59aa465b701f768f277f9536d227a7b2964 Mon Sep 17 00:00:00 2001 From: Ryan Cross Date: Thu, 2 Mar 2017 20:14:39 +0000 Subject: [PATCH] Fixes #2219. Area Group chairs are denied material management access. Commit ready for merge. - Legacy-Id: 12950 --- ietf/doc/templatetags/managed_groups.py | 2 +- ietf/meeting/tests_views.py | 6 ++++++ ietf/secr/sreq/tests.py | 2 +- ietf/utils/test_data.py | 13 +++++++++++++ 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/ietf/doc/templatetags/managed_groups.py b/ietf/doc/templatetags/managed_groups.py index ba87e43b0..100a1e031 100644 --- a/ietf/doc/templatetags/managed_groups.py +++ b/ietf/doc/templatetags/managed_groups.py @@ -19,7 +19,7 @@ def managed_groups(user): groups.extend(Group.objects.filter( role__name__slug='chair', role__person__user=user, - type__slug__in=('rg', 'wg'), + type__slug__in=('rg', 'wg', 'ag'), state__slug__in=('active', 'bof')).select_related("type")) return groups diff --git a/ietf/meeting/tests_views.py b/ietf/meeting/tests_views.py index 8268c6c77..5e7f73d02 100644 --- a/ietf/meeting/tests_views.py +++ b/ietf/meeting/tests_views.py @@ -300,6 +300,12 @@ class MeetingTests(TestCase): self.assertTrue(meeting.number in unicontent(r)) self.assertTrue("mars" in unicontent(r)) + self.client.login(username="ad", password="ad+password") + r = self.client.get(urlreverse("ietf.meeting.views.materials_editable_groups", kwargs={'num':meeting.number})) + self.assertEqual(r.status_code, 200) + self.assertTrue(meeting.number in unicontent(r)) + self.assertTrue("frfarea" in unicontent(r)) + self.client.login(username="plain",password="plain+password") r = self.client.get(urlreverse("ietf.meeting.views.materials_editable_groups", kwargs={'num':meeting.number})) self.assertEqual(r.status_code, 200) diff --git a/ietf/secr/sreq/tests.py b/ietf/secr/sreq/tests.py index 0cfa8e4ee..56b7a88d6 100644 --- a/ietf/secr/sreq/tests.py +++ b/ietf/secr/sreq/tests.py @@ -38,7 +38,7 @@ class SessionRequestTestCase(TestCase): self.assertEqual(r.status_code, 200) sched = r.context['scheduled_groups'] unsched = r.context['unscheduled_groups'] - self.assertEqual(len(unsched),2) + self.assertTrue(len(unsched) > 1) self.assertEqual(len(sched),2) class SubmitRequestCase(TestCase): diff --git a/ietf/utils/test_data.py b/ietf/utils/test_data.py index 7edf1461f..89b9f3005 100644 --- a/ietf/utils/test_data.py +++ b/ietf/utils/test_data.py @@ -181,6 +181,16 @@ def make_test_data(): group.save() setup_default_community_list_for_group(group) + # frfarea AG + frfarea = Group.objects.create( + name="Far Future Area Group", + acronym="frfarea", + state_id="active", + type_id="ag", + parent=area, + list_email="frfarea-ag@ietf.org", + ) + # irg RG irg_rg = Group.objects.create( name="Internet Research Group", @@ -226,6 +236,9 @@ def make_test_data(): ames_wg.role_set.get_or_create(name_id='ad',person=ad,email=ad.role_email('ad')) ames_wg.save() + frfarea.role_set.get_or_create(name_id='chair',person=ad,email=ad.role_email('ad')) + frfarea.save() + create_person(irg_rg, "chair", name="Irg Chair Man", username="irgchairman") # old draft