Skip to content

Commit

Permalink
fix: PR comments fix
Browse files Browse the repository at this point in the history
  • Loading branch information
monteri committed Jan 26, 2024
1 parent dd1f208 commit 46e5155
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ class ContainerHandlerSerializer(serializers.Serializer):
assets_url = serializers.SerializerMethodField()
unit_block_id = serializers.CharField(source="unit.location.block_id")
subsection_location = serializers.CharField(source="subsection.location")
sequence_ids = serializers.ListField(child=serializers.CharField())
course_sequence_ids = serializers.ListField(child=serializers.CharField())

def get_assets_url(self, obj):
"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ def get(self, request: Request, usage_key_string: str):
"assets_url": "/assets/course-v1:edX+DemoX+Demo_Course/",
"unit_block_id": "d6cee45205a449369d7ef8f159b22bdf",
"subsection_location": "block-v1:edX+DemoX+Demo_Course+type@sequential+block@graded_simulations"
"sequence_ids": [
"course_sequence_ids": [
"block-v1:edX+DemoX+Demo_Course+type@sequential+block@graded_simulations",
"block-v1:edX+DemoX+Demo_Course+type@sequential+block@something_else",
...
Expand Down
35 changes: 11 additions & 24 deletions cms/djangoapps/contentstore/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -632,29 +632,18 @@ def ancestor_has_staff_lock(xblock, parent_xblock=None):
return parent_xblock.visible_to_staff_only


def get_sequence_usage_keys(course_structure):
def get_sequence_usage_keys(course):
"""
Recursively searches through a nested course_structure,
extracting and returning a list of usage_keys where the 'category'
key is set to 'sequential'
Extracts a list of 'subsections' usage_keys
"""
ids = []

def check_category_and_children(child_info):
if child_info.get('category') == 'sequential':
ids.extend([c.get('id') for c in child_info.get('children', [])])
return

# Recursively check children if they exist
for child in child_info.get('children', []):
if 'child_info' in child:
check_category_and_children(child['child_info'])

if 'child_info' in course_structure:
check_category_and_children(course_structure['child_info'])

return ids
course_sequence_ids = []
sections = course.get_children()
for section in sections:
subsections = section.get_children()
for subsection in subsections:
course_sequence_ids.append(str(subsection.location))

return course_sequence_ids


def reverse_url(handler_name, key_name=None, key_value=None, kwargs=None):
Expand Down Expand Up @@ -1872,10 +1861,8 @@ def get_container_handler_context(request, usage_key, course, xblock): # pylint
create_xblock_info,
)
from openedx.core.djangoapps.content_staging import api as content_staging_api
from cms.djangoapps.contentstore.views.course import _course_outline_json

course_structure = _course_outline_json(request, course)
sequence_ids = get_sequence_usage_keys(course_structure)
course_sequence_ids = get_sequence_usage_keys(course)
component_templates = get_component_templates(course)
ancestor_xblocks = []
parent = get_parent_xblock(xblock)
Expand Down Expand Up @@ -1976,7 +1963,7 @@ def get_container_handler_context(request, usage_key, course, xblock): # pylint
# Status of the user's clipboard, exactly as would be returned from the "GET clipboard" REST API.
'user_clipboard': user_clipboard,
'is_fullwidth_content': is_library_xblock,
'sequence_ids': sequence_ids,
'course_sequence_ids': course_sequence_ids,
}
return context

Expand Down

0 comments on commit 46e5155

Please sign in to comment.