Commit 2aad7d0a by Giulio Gratta

openended problems now do an ajax call everytime they are loaded

parent 09741013
......@@ -92,6 +92,7 @@ class @CombinedOpenEnded
$(window).keydown @keydown_handler
$(window).keyup @keyup_handler
reinitialize: (element) ->
@wrapper=$(element).find('section.xmodule_CombinedOpenEndedModule')
@el = $(element).find('section.combined-open-ended')
......@@ -221,6 +222,20 @@ class @CombinedOpenEnded
@legend_container.after(response.html).remove()
@legend_container= $('.legend-container')
get_last_response: (@answer_area) =>
@submit_button.hide()
@answer_area.attr("disabled", true)
@gentle_alert "Checking for a previous response..."
data = {}
$.postWithPrefix "#{@ajax_url}/get_last_response", data, (response) =>
if response.success && response.response != ""
@answer_area.html(response.response)
@gentle_alert "This has been submitted"
else
@submit_button.show()
@answer_area.attr("disabled", false)
@el.find('.open-ended-alert').animate(opacity: 0, 700)
message_post: (event)=>
external_grader_message=$(event.target).parent().parent().parent()
evaluation_scoring = $(event.target).parent()
......@@ -267,6 +282,7 @@ class @CombinedOpenEnded
if @task_number==1 and @child_state=='assessing'
@prompt_hide()
if @child_state == 'done'
@rubric_wrapper.hide()
if @child_type=="openended"
......@@ -283,6 +299,7 @@ class @CombinedOpenEnded
@submit_button.prop('value', 'Submit')
@submit_button.click @save_answer
@setup_file_upload()
@get_last_response(@answer_area)
else if @child_state == 'assessing'
@answer_area.attr("disabled", true)
@replace_text_inputs()
......
......@@ -7,6 +7,7 @@ from xmodule.progress import Progress
from xmodule.stringify import stringify_children
import self_assessment_module
import open_ended_module
from functools import partial
from .combined_open_ended_rubric import CombinedOpenEndedRubric, GRADER_TYPE_IMAGE_DICT, HUMAN_GRADER_TYPE, LEGEND_LIST
log = logging.getLogger("mitx.courseware")
......@@ -465,6 +466,7 @@ class CombinedOpenEndedV1Module():
'feedback_dicts': feedback_dicts,
'grader_ids': grader_ids,
'submission_ids': submission_ids,
'success' : True
}
return last_response_dict
......@@ -615,6 +617,7 @@ class CombinedOpenEndedV1Module():
'get_combined_rubric': self.get_rubric,
'get_status': self.get_status_ajax,
'get_legend': self.get_legend,
'get_last_response': self.get_last_response_ajax,
}
if dispatch not in handlers:
......@@ -624,6 +627,9 @@ class CombinedOpenEndedV1Module():
d = handlers[dispatch](data)
return json.dumps(d, cls=ComplexEncoder)
def get_last_response_ajax(self,data):
return self.get_last_response(self.current_task_number)
def next_problem(self, _data):
"""
Called via ajax to advance to the next problem.
......
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