Commit e9491d59 by Alan Boudreault Committed by Jonathan Piacenti

Fix api_manager failing tests about cohorts

parent 79744b52
...@@ -20,8 +20,10 @@ from courseware.model_data import FieldDataCache ...@@ -20,8 +20,10 @@ from courseware.model_data import FieldDataCache
from openedx.core.djangoapps.course_groups.models import CourseUserGroup from openedx.core.djangoapps.course_groups.models import CourseUserGroup
from openedx.core.djangoapps.course_groups.cohorts import ( from openedx.core.djangoapps.course_groups.cohorts import (
get_cohort_by_name, get_cohort_by_name,
get_cohort,
add_cohort, add_cohort,
add_user_to_cohort add_user_to_cohort,
remove_user_from_cohort
) )
from django_comment_common.models import Role, FORUM_ROLE_MODERATOR from django_comment_common.models import Role, FORUM_ROLE_MODERATOR
from gradebook.models import StudentGradebook from gradebook.models import StudentGradebook
...@@ -724,14 +726,14 @@ class UsersCoursesList(SecureAPIView): ...@@ -724,14 +726,14 @@ class UsersCoursesList(SecureAPIView):
course_enrollment = CourseEnrollment.enroll(user, course_key) course_enrollment = CourseEnrollment.enroll(user, course_key)
# Ensure the user is in a cohort. Add it explicitly in the default_cohort # Ensure the user is in a cohort. Add it explicitly in the default_cohort
try: try:
default_cohort = get_cohort_by_name(course_id, CourseUserGroup.default_cohort_name) default_cohort = get_cohort_by_name(course_key, CourseUserGroup.default_cohort_name)
except CourseUserGroup.DoesNotExist: except CourseUserGroup.DoesNotExist:
default_cohort = add_cohort(course_id, CourseUserGroup.default_cohort_name) default_cohort = add_cohort(course_key, CourseUserGroup.default_cohort_name)
add_user_to_cohort(default_cohort, user.username) add_user_to_cohort(default_cohort, user.username)
log.debug('User "{}" has been automatically added in cohort "{}" for course "{}"'.format( log.debug('User "{}" has been automatically added in cohort "{}" for course "{}"'.format(
user.username, default_cohort.name, course_descriptor.display_name) user.username, default_cohort.name, course_descriptor.display_name)
) )
response_data['uri'] = '{}/{}'.format(base_uri, course_id) response_data['uri'] = '{}/{}'.format(base_uri, course_key)
response_data['id'] = unicode(course_key) response_data['id'] = unicode(course_key)
response_data['name'] = course_descriptor.display_name response_data['name'] = course_descriptor.display_name
response_data['is_active'] = course_enrollment.is_active response_data['is_active'] = course_enrollment.is_active
...@@ -901,6 +903,9 @@ class UsersCoursesDetail(SecureAPIView): ...@@ -901,6 +903,9 @@ class UsersCoursesDetail(SecureAPIView):
if not course_exists(request, user, course_id): if not course_exists(request, user, course_id):
return Response({}, status=status.HTTP_204_NO_CONTENT) return Response({}, status=status.HTTP_204_NO_CONTENT)
course_key = get_course_key(course_id) course_key = get_course_key(course_id)
cohort = get_cohort(user, course_key)
if cohort:
remove_user_from_cohort(cohort, user.username)
CourseEnrollment.unenroll(user, course_key) CourseEnrollment.unenroll(user, course_key)
return Response({}, status=status.HTTP_204_NO_CONTENT) return Response({}, status=status.HTTP_204_NO_CONTENT)
......
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