diff --git a/common/lib/xmodule/xmodule/js/src/combinedopenended/display.coffee b/common/lib/xmodule/xmodule/js/src/combinedopenended/display.coffee
index 2fe8979652..e846717030 100644
--- a/common/lib/xmodule/xmodule/js/src/combinedopenended/display.coffee
+++ b/common/lib/xmodule/xmodule/js/src/combinedopenended/display.coffee
@@ -23,7 +23,7 @@ class @Rubric
keypress_callback: (event) =>
# don't try to do this when user is typing in a text input
- if $(event.target).is('input, textarea')
+ if @$(event.target).is('input, textarea')
return
# for when we select via top row
if event.which >= 48 and event.which <= 57
@@ -49,9 +49,9 @@ class @Rubric
@category = @$(@categories[@category_index])
tracking_callback: (event) =>
- target_selection = $(event.target).val()
+ target_selection = @$(event.target).val()
# chop off the beginning of the name so that we can get the number of the category
- category = $(event.target).data("category")
+ category = @$(event.target).data("category")
location = @$(@rubric_sel).data('location')
# probably want the original problem location as well
@@ -187,9 +187,9 @@ class @CombinedOpenEnded
@skip_button = @$(@oe).find(@skip_button_sel)
@skip_button.click @skip_post_assessment
- @file_upload_area = $(@oe).find(@file_upload_sel)
+ @file_upload_area = @$(@oe).find(@file_upload_sel)
@can_upload_files = false
- @open_ended_child= $(@oe).find(@open_ended_child_sel)
+ @open_ended_child= @$(@oe).find(@open_ended_child_sel)
@out_of_sync_message = 'The problem state got out of sync. Try reloading the page.'
@@ -257,7 +257,7 @@ class @CombinedOpenEnded
contentType: false
success: (response) =>
@gentle_alert response.msg
- $('section.evaluation').slideToggle()
+ @$('section.evaluation').slideToggle()
@message_wrapper.html(response.message_html)
@@ -299,6 +299,7 @@ class @CombinedOpenEnded
@hide_file_upload()
@submit_button.prop('value', 'Submit assessment')
@submit_button.click @save_assessment
+ @submit_button.attr("disabled",false)
if @child_type == "openended"
@submit_button.hide()
@queueing()
@@ -339,6 +340,7 @@ class @CombinedOpenEnded
@hint_area = @$('textarea.post_assessment')
save_answer: (event) =>
+ @submit_button.attr("disabled",true)
event.preventDefault()
@submit_button.hide()
@answer_area.attr("disabled", true)
@@ -640,4 +642,5 @@ class @CombinedOpenEnded
graded_callback: () =>
if @rub.check_complete()
+ @submit_button.attr("disabled",false)
@submit_button.show()
diff --git a/common/lib/xmodule/xmodule/open_ended_grading_classes/open_ended_module.py b/common/lib/xmodule/xmodule/open_ended_grading_classes/open_ended_module.py
index 04eff33159..dc2c3fb01b 100644
--- a/common/lib/xmodule/xmodule/open_ended_grading_classes/open_ended_module.py
+++ b/common/lib/xmodule/xmodule/open_ended_grading_classes/open_ended_module.py
@@ -699,7 +699,7 @@ class OpenEndedModule(openendedchild.OpenEndedChild):
post_assessment = ""
correct = ""
previous_answer = ""
-
+ previous_answer = previous_answer.replace("\n","
")
context = {
'prompt': self.child_prompt,
'previous_answer': previous_answer,
diff --git a/common/lib/xmodule/xmodule/open_ended_grading_classes/self_assessment_module.py b/common/lib/xmodule/xmodule/open_ended_grading_classes/self_assessment_module.py
index 674fab0d30..5c40aca116 100644
--- a/common/lib/xmodule/xmodule/open_ended_grading_classes/self_assessment_module.py
+++ b/common/lib/xmodule/xmodule/open_ended_grading_classes/self_assessment_module.py
@@ -61,6 +61,7 @@ class SelfAssessmentModule(openendedchild.OpenEndedChild):
else:
previous_answer = ''
+ previous_answer = previous_answer.replace("\n","
")
context = {
'prompt': self.child_prompt,
'previous_answer': previous_answer,
diff --git a/lms/static/coffee/src/staff_grading/staff_grading.coffee b/lms/static/coffee/src/staff_grading/staff_grading.coffee
index e7e7c189ac..e8cee60001 100644
--- a/lms/static/coffee/src/staff_grading/staff_grading.coffee
+++ b/lms/static/coffee/src/staff_grading/staff_grading.coffee
@@ -146,6 +146,8 @@ The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for t
class @StaffGrading
+ grading_message_sel: '.grading-message'
+
constructor: (backend) ->
AjaxPrefix.addAjaxPrefix(jQuery, -> "")
@backend = backend
@@ -278,6 +280,7 @@ class @StaffGrading
location: @location
skipped: true
submission_flagged: false
+ @gentle_alert "Skipped the submission."
@backend.post('save_grade', data, @ajax_callback)
get_problem_list: () ->
@@ -292,9 +295,15 @@ class @StaffGrading
submission_id: @submission_id
location: @location
submission_flagged: @flag_submission_checkbox.is(':checked')
-
+ @gentle_alert "Grades saved. Fetching the next submission to grade."
@backend.post('save_grade', data, @ajax_callback)
+ gentle_alert: (msg) =>
+ @grading_message = $(@grading_message_sel)
+ @grading_message.html("")
+ @grading_message.fadeIn()
+ @grading_message.html("
" + msg + "
") + error: (msg) -> @error_msg = msg @state = state_error diff --git a/lms/templates/combinedopenended/openended/open_ended_rubric.html b/lms/templates/combinedopenended/openended/open_ended_rubric.html index ea374c5173..55194a9318 100644 --- a/lms/templates/combinedopenended/openended/open_ended_rubric.html +++ b/lms/templates/combinedopenended/openended/open_ended_rubric.html @@ -1,4 +1,5 @@ <%! from django.utils.translation import ugettext as _ %> +<% from random import randint %>