Commit f9e64f3c by Waheed Ahmed

Assign view permissions to PC and MKT groups as well.

ECOM-7493
parent dd625bfb
......@@ -25,20 +25,33 @@ class OrganizationExtensionAdmin(GuardedModelAdmin):
obj.save()
# Assign EDIT/VIEW permissions to organization group.
permissions = [
course_team_permissions = [
OrganizationExtension.VIEW_COURSE,
OrganizationExtension.EDIT_COURSE,
OrganizationExtension.VIEW_COURSE_RUN,
OrganizationExtension.EDIT_COURSE_RUN
]
for permission in permissions:
assign_perm(permission, obj.group, obj)
self.assign_permissions(obj, obj.group, course_team_permissions)
# Assign EDIT_COURSE permission to Marketing Reviewers group.
assign_perm(OrganizationExtension.EDIT_COURSE, Group.objects.get(name=REVIEWER_GROUP_NAME), obj)
marketing_permissions = [
OrganizationExtension.EDIT_COURSE,
OrganizationExtension.VIEW_COURSE,
OrganizationExtension.VIEW_COURSE_RUN
]
self.assign_permissions(obj, Group.objects.get(name=REVIEWER_GROUP_NAME), marketing_permissions)
# Assign EDIT_COURSE_RUN permission to Project Coordinators group.
assign_perm(OrganizationExtension.EDIT_COURSE_RUN, Group.objects.get(name=PROJECT_COORDINATOR_GROUP_NAME), obj)
pc_permissions = [
OrganizationExtension.VIEW_COURSE,
OrganizationExtension.EDIT_COURSE_RUN,
OrganizationExtension.VIEW_COURSE_RUN
]
self.assign_permissions(obj, Group.objects.get(name=PROJECT_COORDINATOR_GROUP_NAME), pc_permissions)
def assign_permissions(self, obj, group, permissions):
for permission in permissions:
assign_perm(permission, group, obj)
@admin.register(UserAttributes)
......
......@@ -100,18 +100,32 @@ class OrganizationExtensionAdminTests(TestCase):
organization_extension = OrganizationExtension.objects.get(organization=test_organization, group=test_group)
expected_permissions = [
course_team_permissions = [
OrganizationExtension.VIEW_COURSE,
OrganizationExtension.EDIT_COURSE,
OrganizationExtension.VIEW_COURSE_RUN,
OrganizationExtension.EDIT_COURSE_RUN
]
self._assert_permissions(organization_extension, test_group, course_team_permissions)
course_team_permissions = get_group_perms(test_group, organization_extension)
self.assertEqual(sorted(course_team_permissions), sorted(expected_permissions))
marketing_permissions = [
OrganizationExtension.VIEW_COURSE,
OrganizationExtension.EDIT_COURSE,
OrganizationExtension.VIEW_COURSE_RUN
]
self._assert_permissions(
organization_extension, Group.objects.get(name=REVIEWER_GROUP_NAME), marketing_permissions
)
marketing_permissions = get_group_perms(Group.objects.get(name=REVIEWER_GROUP_NAME), organization_extension)
self.assertEqual(list(marketing_permissions), [OrganizationExtension.EDIT_COURSE])
pc_permissions = [
OrganizationExtension.VIEW_COURSE,
OrganizationExtension.EDIT_COURSE_RUN,
OrganizationExtension.VIEW_COURSE_RUN
]
self._assert_permissions(
organization_extension, Group.objects.get(name=PROJECT_COORDINATOR_GROUP_NAME), pc_permissions
)
pc_permissions = get_group_perms(Group.objects.get(name=PROJECT_COORDINATOR_GROUP_NAME), organization_extension)
self.assertEqual(list(pc_permissions), [OrganizationExtension.EDIT_COURSE_RUN])
def _assert_permissions(self, organization_extension, group, expected_permissions):
permissions = get_group_perms(group, organization_extension)
self.assertEqual(sorted(permissions), sorted(expected_permissions))
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment