From 0f81765ac7713db307b34816d72f9a7c0341de1d Mon Sep 17 00:00:00 2001 From: Michael Terry Date: Tue, 21 Apr 2020 12:43:53 -0400 Subject: [PATCH] Show graded icons in more places In the course outline, if a subsection has any graded content, show a graded icon (the pencil icon). Also, show the graded icon for LTI xmodule units (xblocks is a different repo, but will get same treatment). AA-75 --- common/lib/xmodule/xmodule/lti_module.py | 3 ++- .../course_experience/course-outline-fragment.html | 2 +- openedx/features/course_experience/utils.py | 8 ++++++-- requirements/edx/github.in | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/common/lib/xmodule/xmodule/lti_module.py b/common/lib/xmodule/xmodule/lti_module.py index bfaea0a037..d8cf4b8a2a 100644 --- a/common/lib/xmodule/xmodule/lti_module.py +++ b/common/lib/xmodule/xmodule/lti_module.py @@ -345,7 +345,8 @@ class LTIModule(LTIFields, LTI20ModuleMixin, XModule): ] } css = {'scss': [resource_string(__name__, 'css/lti/lti.scss')]} - js_module_name = "LTI" + js_module_name = 'LTI' + icon_class = 'problem' def get_input_fields(self): # LTI provides a list of default parameters that might be passed as diff --git a/openedx/features/course_experience/templates/course_experience/course-outline-fragment.html b/openedx/features/course_experience/templates/course_experience/course-outline-fragment.html index 4f9ac16415..d5d1d1a0a5 100644 --- a/openedx/features/course_experience/templates/course_experience/course-outline-fragment.html +++ b/openedx/features/course_experience/templates/course_experience/course-outline-fragment.html @@ -79,7 +79,7 @@ reset_deadlines_banner_displayed = False class="subsection-text outline-button" id="${ subsection['id'] }" > - % if num_graded_problems and not (subsection.get('format') or 'special_exam_info' in subsection): + % if graded and scored and 'special_exam_info' not in subsection: % endif

diff --git a/openedx/features/course_experience/utils.py b/openedx/features/course_experience/utils.py index 1c2978db03..96e878f4c4 100644 --- a/openedx/features/course_experience/utils.py +++ b/openedx/features/course_experience/utils.py @@ -149,8 +149,10 @@ def get_course_outline_block_tree(request, course_id, user=None): """ is_scored = block.get('has_score') and block.get('weight', 1) > 0 is_graded = block.get('graded') + is_countable = block.get('type') not in ('lti', 'lti_consumer') + is_graded_problem = is_scored and is_graded and is_countable - num_graded_problems = 1 if is_scored and is_graded else 0 + num_graded_problems = 1 if is_graded_problem else 0 num_graded_problems += sum(recurse_num_graded_problems(child) for child in block.get('children', [])) block['num_graded_problems'] = num_graded_problems @@ -186,7 +188,9 @@ def get_course_outline_block_tree(request, course_id, user=None): 'discussion', 'drag-and-drop-v2', 'poll', - 'word_cloud' + 'word_cloud', + 'lti', + 'lti_consumer', ] all_blocks = get_blocks( request, diff --git a/requirements/edx/github.in b/requirements/edx/github.in index eb30b4e821..a8f1010bad 100644 --- a/requirements/edx/github.in +++ b/requirements/edx/github.in @@ -92,7 +92,7 @@ git+https://github.com/edx/crowdsourcehinter.git@2178ac72891392106ffef389651aef3 -e git+https://github.com/edx/RateXBlock.git@2.0#egg=rate-xblock -e git+https://github.com/edx/DoneXBlock.git@2.0.2#egg=done-xblock -e git+https://github.com/edx-solutions/xblock-google-drive.git@2d176468e33c0713c911b563f8f65f7cf232f5b6#egg=xblock-google-drive -git+https://github.com/edx/xblock-lti-consumer.git@v1.2.5#egg=lti_consumer-xblock==1.2.5 +git+https://github.com/edx/xblock-lti-consumer.git@v1.2.6#egg=lti_consumer-xblock==1.2.6 # Third Party XBlocks