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 %>
@@ -9,6 +10,7 @@
% for i in range(len(categories)): <% category = categories[i] %> + <% m = randint(0,1000) %> ${category['description']}
    % for j in range(len(category['options'])): @@ -18,8 +20,8 @@ %else:
  • % endif -
  • diff --git a/lms/templates/instructor/staff_grading.html b/lms/templates/instructor/staff_grading.html index 8595b0d722..bb60bddeb0 100644 --- a/lms/templates/instructor/staff_grading.html +++ b/lms/templates/instructor/staff_grading.html @@ -80,8 +80,8 @@
- -
+
+ \ No newline at end of file