Commit fec5a14f by Bessie Steinberg Committed by Bill Filler

clean stuff up

parent 7eb90ead
......@@ -355,7 +355,8 @@ def get_course_content_milestones_by_course(course_id, relationship, user_id=Non
return []
if user_id is None:
return milestones_api.get_course_content_milestones(course_id, content_id, relationship)
#TODO handle this case - maybe just have it when you are
return milestones_api.get_course_content_milestones(course_id, relationship)
request_cache_dict = request_cache.get_cache(REQUEST_CACHE_NAME)
if user_id not in request_cache_dict:
......@@ -371,13 +372,13 @@ def get_course_content_milestones_by_course(course_id, relationship, user_id=Non
return request_cache_dict[user_id][relationship]
def get_course_content_milestones(course_id, content_id, relationship, user_id=None):
def get_course_content_milestones(course_id, content_id=None, relationship=None, user_id=None):
"""
Client API operation adapter/wrapper
Uses the request cache to store all of a user's
milestones
"""
#TODO: refactor and call get course content by course
#TODO: refactor and call get course content by course or just set content_id to None by default and make sure that case is handled
if not settings.FEATURES.get('MILESTONES_APP'):
return []
......@@ -399,8 +400,8 @@ def get_course_content_milestones(course_id, content_id, relationship, user_id=N
return [m for m in request_cache_dict[user_id][relationship] if m['content_id'] == unicode(content_id)]
def get_all_course_content_milestones(course_key, relationship=None):
return milestones_api.get_course_content_milestones(course_key, relationship)
def get_all_course_content_milestones(course_key, user_id=None, relationship=None):
return milestones_api.get_course_content_milestones(course_key, user={"id": user_id}, relationship=relationship)
def remove_course_content_user_milestones(course_key, content_key, user, relationship):
"""
......
......@@ -107,7 +107,7 @@ from openedx.core.djangolib.markup import HTML, Text
% if subsection['id'] in milestones and not milestones[subsection['id']]['completed_prereqs']:
<span class="subtitle">
<span class="subtitle-name">
Score of ${milestones[subsection['id']]['min_score']} required on ${milestones[subsection['id']]['prereq']} to access this content
Score of <em>${milestones[subsection['id']]['min_score']}</em> required on <em>${milestones[subsection['id']]['prereq']}</em> to access this content
</span>
</span>
% endif
......
......@@ -11,7 +11,7 @@ from courseware.courses import get_course_overview_with_access
from openedx.core.djangoapps.plugin_api.views import EdxFragmentView
from ..utils import get_course_outline_block_tree, get_all_course_blocks
from util.milestones_helpers import get_all_course_content_milestones, get_course_content_milestones_by_course, milestones_achieved_by_user, get_course_content_milestones
from util.milestones_helpers import get_milestone_relationship_types, get_all_course_content_milestones, get_course_content_milestones_by_course, milestones_achieved_by_user, get_course_content_milestones
class CourseOutlineFragmentView(EdxFragmentView):
......@@ -32,12 +32,29 @@ class CourseOutlineFragmentView(EdxFragmentView):
return None
content_milestones = self.get_content_milestones(request, course_key, all_course_blocks)
relationship_types = get_milestone_relationship_types()
context = {
'csrf': csrf(request)['csrf_token'],
'course': course_overview,
'blocks': course_block_tree,
'milestones': content_milestones
}
html = render_to_string('course_experience/course-outline-fragment.html', context)
return Fragment(html)
def get_content_milestones(self, request, course_key, all_course_blocks):
content_milestones = {}
#TODO: should i be using a user id here? probably
course_prereqs = get_all_course_content_milestones(course_key) #, relationship='requires')
# course_prereqs = get_all_course_content_milestones(course_key, request.user.id) #, relationship='requires')
course_prereqs = get_course_content_milestones(
course_id=course_key,
user_id=request.user.id)
unfulfilled_prereqs = get_course_content_milestones_by_course(
unfulfilled_prereqs = get_course_content_milestones(
course_id=course_key,
relationship='requires',
user_id=request.user.id)
......@@ -55,12 +72,5 @@ class CourseOutlineFragmentView(EdxFragmentView):
content_milestones[milestone['content_id']]['completed_prereqs'] = False
content_milestones[milestone['content_id']]['prereq'] = all_course_blocks['blocks'][milestone['namespace'].replace('.gating','')]['display_name']
#TODO: can there be multiple prereqs?
context = {
'csrf': csrf(request)['csrf_token'],
'course': course_overview,
'blocks': course_block_tree,
'milestones': content_milestones
}
html = render_to_string('course_experience/course-outline-fragment.html', context)
return Fragment(html)
return content_milestones
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