Remove milestones when instructor clears a student's entry exam data

This commit is contained in:
Saleem Latif
2015-10-12 16:41:54 +05:00
parent 69c47e0951
commit 12b245a386
2 changed files with 36 additions and 0 deletions

View File

@@ -175,6 +175,18 @@ def fulfill_course_milestone(course_key, user):
milestones_api.add_user_milestone({'id': user.id}, milestone)
def remove_course_milestones(course_key, user, relationship):
"""
Remove all user milestones for the course specified by course_key.
"""
if not settings.FEATURES.get('MILESTONES_APP', False):
return None
from milestones import api as milestones_api
course_milestones = milestones_api.get_course_milestones(course_key=course_key, relationship=relationship)
for milestone in course_milestones:
milestones_api.remove_user_milestone({'id': user.id}, milestone)
def get_required_content(course, user):
"""
Queries milestones subsystem to see if the specified course is gated on one or more milestones,
@@ -321,6 +333,19 @@ def get_course_content_milestones(course_id, content_id, relationship):
return milestones_api.get_course_content_milestones(course_id, content_id, relationship)
def remove_course_content_user_milestones(course_key, content_key, user, relationship):
"""
Removes the specified User-Milestone link from the system for the specified course content module.
"""
if not settings.FEATURES.get('MILESTONES_APP', False):
return []
from milestones import api as milestones_api
course_content_milestones = milestones_api.get_course_content_milestones(course_key, content_key, relationship)
for milestone in course_content_milestones:
milestones_api.remove_user_milestone({'id': user.id}, milestone)
def remove_content_references(content_id):
"""
Client API operation adapter/wrapper