diff --git a/common/lib/xmodule/xmodule/open_ended_grading_classes/combined_open_ended_modulev1.py b/common/lib/xmodule/xmodule/open_ended_grading_classes/combined_open_ended_modulev1.py index 340012a042..6f2095447e 100644 --- a/common/lib/xmodule/xmodule/open_ended_grading_classes/combined_open_ended_modulev1.py +++ b/common/lib/xmodule/xmodule/open_ended_grading_classes/combined_open_ended_modulev1.py @@ -386,7 +386,8 @@ class CombinedOpenEndedV1Module(): 'accept_file_upload': self.accept_file_upload, 'location': self.location, 'legend_list': LEGEND_LIST, - 'human_state': HUMAN_STATES.get(self.state, "Not started.") + 'human_state': HUMAN_STATES.get(self.state, "Not started."), + 'is_staff': self.system.user_is_staff } return context diff --git a/lms/djangoapps/instructor/views/api.py b/lms/djangoapps/instructor/views/api.py index e3d060e57a..e5498585a3 100644 --- a/lms/djangoapps/instructor/views/api.py +++ b/lms/djangoapps/instructor/views/api.py @@ -807,7 +807,11 @@ def _msk_from_problem_urlname(course_id, urlname): if urlname.endswith(".xml"): urlname = urlname[:-4] - urlname = "problem/" + urlname + # Combined open ended problems also have state that can be deleted. However, + # appending "problem" will only allow capa problems to be reset. + # Get around this for combinedopenended problems. + if "combinedopenended" not in urlname: + urlname = "problem/" + urlname (org, course_name, __) = course_id.split("/") module_state_key = "i4x://" + org + "/" + course_name + "/" + urlname diff --git a/lms/templates/combinedopenended/combined_open_ended.html b/lms/templates/combinedopenended/combined_open_ended.html index 5f088265a2..971f543273 100644 --- a/lms/templates/combinedopenended/combined_open_ended.html +++ b/lms/templates/combinedopenended/combined_open_ended.html @@ -56,5 +56,10 @@