Fixes #2219. Area Group chairs are denied material management access. Commit ready for merge.

- Legacy-Id: 12950
This commit is contained in:
Ryan Cross 2017-03-02 20:14:39 +00:00
parent aa76ea4040
commit c6d1a59aa4
4 changed files with 21 additions and 2 deletions

View file

@ -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

View file

@ -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)

View file

@ -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):

View file

@ -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