From f4c08bbca10d70b724b0d5f96e72f3556d109863 Mon Sep 17 00:00:00 2001 From: Clinton Blackburn Date: Mon, 2 Oct 2017 17:05:42 -0400 Subject: [PATCH] Fixed Studio API bug with course team updates The org field is now set on the CourseAccessRole object, since Studio expects that value to be present. LEARNER-2469 --- cms/djangoapps/api/v1/serializers/course_runs.py | 1 + cms/djangoapps/api/v1/tests/test_views/test_course_runs.py | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/cms/djangoapps/api/v1/serializers/course_runs.py b/cms/djangoapps/api/v1/serializers/course_runs.py index b44ec7020f..9c3c5a67c2 100644 --- a/cms/djangoapps/api/v1/serializers/course_runs.py +++ b/cms/djangoapps/api/v1/serializers/course_runs.py @@ -60,6 +60,7 @@ class CourseRunTeamSerializerMixin(serializers.Serializer): for member in team: CourseAccessRole.objects.update_or_create( course_id=instance.id, + org=instance.id.org, user=User.objects.get(username=member['user']), defaults={'role': member['role']} ) diff --git a/cms/djangoapps/api/v1/tests/test_views/test_course_runs.py b/cms/djangoapps/api/v1/tests/test_views/test_course_runs.py index 2707245b6b..842efd0fd6 100644 --- a/cms/djangoapps/api/v1/tests/test_views/test_course_runs.py +++ b/cms/djangoapps/api/v1/tests/test_views/test_course_runs.py @@ -37,7 +37,7 @@ class CourseRunViewSetTests(ModuleStoreTestCase): def assert_access_role(self, course_run, user, role): # An error will be raised if the endpoint did not create the role - CourseAccessRole.objects.get(course_id=course_run.id, user=user, role=role) + CourseAccessRole.objects.get(course_id=course_run.id, org=course_run.id.org, user=user, role=role) def assert_course_access_role_count(self, course_run, expected): assert CourseAccessRole.objects.filter(course_id=course_run.id).count() == expected @@ -143,9 +143,9 @@ class CourseRunViewSetTests(ModuleStoreTestCase): # The request should only update or create new team members existing_user = UserFactory() - CourseAccessRole.objects.create(course_id=course_run.id, role=role, user=existing_user) + CourseAccessRole.objects.create(course_id=course_run.id, org=course_run.id.org, role=role, user=existing_user) new_user = UserFactory() - CourseAccessRole.objects.create(course_id=course_run.id, role=role, user=new_user) + CourseAccessRole.objects.create(course_id=course_run.id, org=course_run.id.org, role=role, user=new_user) assert CourseAccessRole.objects.filter(course_id=course_run.id).count() == 2 data = {