From 497bb39f889cbe2dd5e061aab6e604cb7ba6549e Mon Sep 17 00:00:00 2001 From: Mat Peterson Date: Tue, 12 Aug 2014 20:32:31 +0000 Subject: [PATCH] Fixed bug in dismissing errored rerun notification and another with empty reruns fields --- cms/static/js/index.js | 2 +- cms/static/js/views/course_rerun.js | 20 +++++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/cms/static/js/index.js b/cms/static/js/index.js index fe7f79f97a..31c6ef7803 100644 --- a/cms/static/js/index.js +++ b/cms/static/js/index.js @@ -4,7 +4,7 @@ require(["domReady", "jquery", "underscore", "js/utils/cancel_on_escape"], var dismissNotification = function (e) { e.preventDefault(); $.ajax({ - url: $('.dismiss-button').data('dismiss-link'), + url: this.data('dismiss-link'), type: 'DELETE', success: function(result) { window.location.reload() diff --git a/cms/static/js/views/course_rerun.js b/cms/static/js/views/course_rerun.js index 34e49f37c3..962277e1aa 100644 --- a/cms/static/js/views/course_rerun.js +++ b/cms/static/js/views/course_rerun.js @@ -3,7 +3,7 @@ require(["domReady", "jquery", "underscore", "js/utils/cancel_on_escape"], var saveRerunCourse = function (e) { e.preventDefault(); - // One final check for empty values + // One final check for errors var errors = _.reduce( ['.rerun-course-name', '.rerun-course-org', '.rerun-course-number', '.rerun-course-run'], function (acc, ele) { @@ -133,6 +133,18 @@ require(["domReady", "jquery", "underscore", "js/utils/cancel_on_escape"], } }; + // Ensure that all fields are not empty + var validateFilledFields = function () { + return _.reduce( + ['.rerun-course-org', '.rerun-course-number', '.rerun-course-run', '.rerun-course-name'], + function (acc, ele) { + var $ele = $(ele); + return $ele.val().length !== 0 ? acc : false; + }, + true + ); + }; + // Handle validation asynchronously _.each( ['.rerun-course-org', '.rerun-course-number', '.rerun-course-run'], @@ -148,6 +160,9 @@ require(["domReady", "jquery", "underscore", "js/utils/cancel_on_escape"], var error = validateCourseItemEncoding($ele.val()); setNewCourseFieldInErr($ele.parent(), error); validateTotalCourseItemsLength(); + if(!validateFilledFields()) { + $('.rerun-course-save').addClass('is-disabled'); + } }); } ); @@ -156,6 +171,9 @@ require(["domReady", "jquery", "underscore", "js/utils/cancel_on_escape"], var error = validateRequiredField($name.val()); setNewCourseFieldInErr($name.parent(), error); validateTotalCourseItemsLength(); + if(!validateFilledFields()) { + $('.rerun-course-save').addClass('is-disabled'); + } }); }); }); \ No newline at end of file