Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
ae37eedf
Commit
ae37eedf
authored
Nov 29, 2017
by
Bessie Steinberg
Committed by
Bill Filler
Nov 30, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor milestone content get and clean up prereq language
parent
a655d4f6
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
32 deletions
+17
-32
openedx/features/course_experience/templates/course_experience/course-outline-fragment.html
+2
-2
openedx/features/course_experience/views/course_outline.py
+15
-30
No files found.
openedx/features/course_experience/templates/course_experience/course-outline-fragment.html
View file @
ae37eedf
...
...
@@ -104,10 +104,10 @@ from openedx.core.djangolib.markup import HTML, Text
% endif
</span>
% endif
% if subsection['id'] in milestones
and not milestones[subsection['id']]['completed_prereqs']
:
% if subsection['id'] in milestones:
<span
class=
"subtitle"
>
<span
class=
"subtitle-name"
>
Score of
<em>
${milestones[subsection['id']]['min_score']}
</em>
required on
<em>
${milestones[subsection['id']]['prereq']}
</em>
to access this content
Prerequisite: ${milestones[subsection['id']]['prereq']}
</span>
</span>
% endif
...
...
openedx/features/course_experience/views/course_outline.py
View file @
ae37eedf
...
...
@@ -25,6 +25,7 @@ class CourseOutlineFragmentView(EdxFragmentView):
"""
course_key
=
CourseKey
.
from_string
(
course_id
)
course_overview
=
get_course_overview_with_access
(
request
.
user
,
'load'
,
course_key
,
check_if_enrolled
=
True
)
# TODO: only generate all course blocks once
course_block_tree
=
get_course_outline_block_tree
(
request
,
course_id
)
all_course_blocks
=
get_all_course_blocks
(
request
,
course_id
)
...
...
@@ -34,7 +35,6 @@ class CourseOutlineFragmentView(EdxFragmentView):
content_milestones
=
self
.
get_content_milestones
(
request
,
course_key
,
all_course_blocks
)
context
=
{
'csrf'
:
csrf
(
request
)[
'csrf_token'
],
'course'
:
course_overview
,
...
...
@@ -45,42 +45,27 @@ class CourseOutlineFragmentView(EdxFragmentView):
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, request.user.id) #, relationship='requires')
course_prereqs
=
get_all_course_content_milestones
(
course_content_milestones
=
{}
all_course_prereqs
=
get_all_course_content_milestones
(
course_key
,
relationship
=
'requires'
,
user_id
=
None
)
#MAYBE MAKE user_id none actually pass none in the method
user_id
=
None
)
# TODO: try grabbing non userspecifc 'requires'
# TODO: try grabbing non userspecifc 'fulfills'
# TODO: try all all non user specific
# TODO: try user spefic requires
# TODO: try user spefic fulfills
# TODO: try user specific no relationship
unfulfilled_prereqs
=
get_course_content_milestones
(
course_id
=
course_key
,
unfulfilled_prereqs
=
get_all_course_content_milestones
(
course_key
,
relationship
=
'requires'
,
user_id
=
request
.
user
.
id
)
for
milestone
in
course_prereqs
:
# check that its a 'requires' relationship
# TODO: just grab the 'requires' milestones from the database
if
milestone
[
'requirements'
]:
content_milestones
[
milestone
[
'content_id'
]
]
=
{
'completed_prereqs'
:
True
,
'min_score'
:
milestone
[
'requirements'
][
'min_score'
]
}
for
milestone
in
all_course_prereqs
:
course_content_milestones
[
milestone
[
'content_id'
]
]
=
{
'completed_prereqs'
:
True
,
'min_score'
:
milestone
[
'requirements'
][
'min_score'
],
'prereq'
:
all_course_blocks
[
'blocks'
][
milestone
[
'namespace'
]
.
replace
(
'.gating'
,
''
)][
'display_name'
]
}
for
milestone
in
unfulfilled_prereqs
:
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?
course_content_milestones
[
milestone
[
'content_id'
]][
'completed_prereqs'
]
=
False
return
content_milestones
return
co
urse_co
ntent_milestones
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment