diff --git a/cms/static/js/models/settings/advanced.js b/cms/static/js/models/settings/advanced.js index c074b12067..fee89296a6 100644 --- a/cms/static/js/models/settings/advanced.js +++ b/cms/static/js/models/settings/advanced.js @@ -40,7 +40,6 @@ CMS.Models.Settings.Advanced = Backbone.Model.extend({ // data data : JSON.stringify({ deleteKeys : self.deleteKeys}) }) - .fail(function(hdr, status, error) { CMS.ServerError(self, "Deleting keys:" + status); }) .done(function(data, status, error) { // clear deleteKeys on success self.deleteKeys = []; diff --git a/cms/static/js/views/checklists_view.js b/cms/static/js/views/checklists_view.js index b2727e58f7..086d7e0b5b 100644 --- a/cms/static/js/views/checklists_view.js +++ b/cms/static/js/views/checklists_view.js @@ -22,8 +22,7 @@ CMS.Views.Checklists = Backbone.View.extend({ } ); }, - reset: true, - error: CMS.ServerError + reset: true } ); }, @@ -90,8 +89,7 @@ CMS.Views.Checklists = Backbone.View.extend({ 'task': model.attributes.items[task_index].short_description, 'state': model.attributes.items[task_index].is_checked }); - }, - error : CMS.ServerError + } }); } }); diff --git a/cms/static/js/views/course_info_edit.js b/cms/static/js/views/course_info_edit.js index 9554b0d7c3..ecd9ebe78d 100644 --- a/cms/static/js/views/course_info_edit.js +++ b/cms/static/js/views/course_info_edit.js @@ -105,7 +105,7 @@ CMS.Views.ClassInfoUpdateView = Backbone.View.extend({ var targetModel = this.eventModel(event); targetModel.set({ date : this.dateEntry(event).val(), content : this.$codeMirror.getValue() }); // push change to display, hide the editor, submit the change - targetModel.save({}, {error : CMS.ServerError}); + targetModel.save({}); this.closeEditor(this); analytics.track('Saved Course Update', { @@ -166,11 +166,9 @@ CMS.Views.ClassInfoUpdateView = Backbone.View.extend({ success: function() { cacheThis.render(); }, - reset: true, - error: CMS.ServerError + reset: true }); - }, - error : CMS.ServerError + } }); }, @@ -254,8 +252,7 @@ CMS.Views.ClassInfoHandoutsView = Backbone.View.extend({ } ); }, - reset: true, - error: CMS.ServerError + reset: true }); }, @@ -296,7 +293,7 @@ CMS.Views.ClassInfoHandoutsView = Backbone.View.extend({ onSave: function(event) { this.model.set('data', this.$codeMirror.getValue()); this.render(); - this.model.save({}, {error: CMS.ServerError}); + this.model.save({}); this.$form.hide(); this.closeEditor(this); diff --git a/cms/static/js/views/server_error.js b/cms/static/js/views/server_error.js deleted file mode 100644 index 71b2a2ca6f..0000000000 --- a/cms/static/js/views/server_error.js +++ /dev/null @@ -1,17 +0,0 @@ -CMS.ServerError = function(model, error) { - var m = new CMS.Models.SystemFeedback({ - "type": "error", - "title": "Server Error", - "message": error.responseText, - "actions": { - "primary": { - "text": "Dismiss", - "click": function(model) { - model.hide(); - } - } - } - }); - new CMS.Views.Notification({model: m}); - return m; -}; diff --git a/cms/static/js/views/settings/advanced_view.js b/cms/static/js/views/settings/advanced_view.js index bef908601b..863393d341 100644 --- a/cms/static/js/views/settings/advanced_view.js +++ b/cms/static/js/views/settings/advanced_view.js @@ -23,7 +23,6 @@ CMS.Views.Settings.Advanced = CMS.Views.ValidatingView.extend({ // because these are outside of this.$el, they can't be in the event hash $('.save-button').on('click', this, this.saveView); $('.cancel-button').on('click', this, this.revertView); - this.listenTo(this.model, 'error', CMS.ServerError); this.listenTo(this.model, 'invalid', this.handleValidationError); }, render: function() { @@ -144,8 +143,7 @@ CMS.Views.Settings.Advanced = CMS.Views.ValidatingView.extend({ 'course': course_location_analytics }); - }, - error : CMS.ServerError + } }); }, revertView : function(event) { @@ -155,8 +153,7 @@ CMS.Views.Settings.Advanced = CMS.Views.ValidatingView.extend({ self.model.clear({silent : true}); self.model.fetch({ success : function() { self.render(); }, - reset: true, - error : CMS.ServerError + reset: true }); }, renderTemplate: function (key, value) { diff --git a/cms/static/js/views/settings/main_settings_view.js b/cms/static/js/views/settings/main_settings_view.js index 5c7e605545..982f232495 100644 --- a/cms/static/js/views/settings/main_settings_view.js +++ b/cms/static/js/views/settings/main_settings_view.js @@ -26,7 +26,6 @@ CMS.Views.Settings.Details = CMS.Views.ValidatingView.extend({ var dateIntrospect = new Date(); this.$el.find('#timezone').html("(" + dateIntrospect.getTimezone() + ")"); - this.listenTo(this.model, 'error', CMS.ServerError); this.listenTo(this.model, 'invalid', this.handleValidationError); this.selectorToField = _.invert(this.fieldToSelectorMap); }, diff --git a/cms/static/js/views/settings/settings_grading_view.js b/cms/static/js/views/settings/settings_grading_view.js index 78972f97a7..b41c667121 100644 --- a/cms/static/js/views/settings/settings_grading_view.js +++ b/cms/static/js/views/settings/settings_grading_view.js @@ -44,7 +44,6 @@ CMS.Views.Settings.Grading = CMS.Views.ValidatingView.extend({ self.render(); } ); - this.listenTo(this.model, 'error', CMS.ServerError); this.listenTo(this.model, 'invalid', this.handleValidationError); this.model.get('graders').on('remove', this.render, this); this.model.get('graders').on('reset', this.render, this); @@ -65,7 +64,7 @@ CMS.Views.Settings.Grading = CMS.Views.ValidatingView.extend({ gradeCollection.each(function(gradeModel) { $(gradelist).append(self.template({model : gradeModel })); var newEle = gradelist.children().last(); - var newView = new CMS.Views.Settings.GraderView({el: newEle, + var newView = new CMS.Views.Settings.GraderView({el: newEle, model : gradeModel, collection : gradeCollection }); }); @@ -119,7 +118,7 @@ CMS.Views.Settings.Grading = CMS.Views.ValidatingView.extend({ gradeBarWidth : null, // cache of value since it won't change (more certain) renderCutoffBar: function() { - var gradeBar =this.$el.find('.grade-bar'); + var gradeBar =this.$el.find('.grade-bar'); this.gradeBarWidth = gradeBar.width(); var gradelist = gradeBar.children('.grades'); // HACK fixing a duplicate call issue by undoing previous call effect. Need to figure out why called 2x @@ -128,11 +127,11 @@ CMS.Views.Settings.Grading = CMS.Views.ValidatingView.extend({ // Can probably be simplified to one variable now. var removable = false; var draggable = false; // first and last are not removable, first is not draggable - _.each(this.descendingCutoffs, + _.each(this.descendingCutoffs, function(cutoff, index) { - var newBar = this.gradeCutoffTemplate({ - descriptor : cutoff['designation'] , - width : nextWidth, + var newBar = this.gradeCutoffTemplate({ + descriptor : cutoff['designation'] , + width : nextWidth, removable : removable }); gradelist.append(newBar); if (draggable) { @@ -152,7 +151,7 @@ CMS.Views.Settings.Grading = CMS.Views.ValidatingView.extend({ }, this); // add fail which is not in data - var failBar = this.gradeCutoffTemplate({ descriptor : this.failLabel(), + var failBar = this.gradeCutoffTemplate({ descriptor : this.failLabel(), width : nextWidth, removable : false}); $(failBar).find("span[contenteditable=true]").attr("contenteditable", false); gradelist.append(failBar); @@ -221,12 +220,12 @@ CMS.Views.Settings.Grading = CMS.Views.ValidatingView.extend({ }, saveCutoffs: function() { - this.model.save('grade_cutoffs', - _.reduce(this.descendingCutoffs, - function(object, cutoff) { + this.model.save('grade_cutoffs', + _.reduce(this.descendingCutoffs, + function(object, cutoff) { object[cutoff['designation']] = cutoff['cutoff'] / 100.0; return object; - }, + }, {})); }, @@ -244,7 +243,7 @@ CMS.Views.Settings.Grading = CMS.Views.ValidatingView.extend({ this.descendingCutoffs.push({designation: this.GRADES[gradeLength], cutoff: failBarWidth}); this.descendingCutoffs[gradeLength - 1]['cutoff'] = Math.round(targetWidth); - var $newGradeBar = this.gradeCutoffTemplate({ descriptor : this.GRADES[gradeLength], + var $newGradeBar = this.gradeCutoffTemplate({ descriptor : this.GRADES[gradeLength], width : targetWidth, removable : true }); var gradeDom = this.$el.find('.grades'); gradeDom.children().last().before($newGradeBar); @@ -317,7 +316,6 @@ CMS.Views.Settings.GraderView = CMS.Views.ValidatingView.extend({ 'blur :input' : "inputUnfocus" }, initialize : function() { - this.listenTo(this.model, 'error', CMS.ServerError); this.listenTo(this.model, 'invalid', this.handleValidationError); this.selectorToField = _.invert(this.fieldToSelectorMap); this.render(); @@ -362,9 +360,8 @@ CMS.Views.Settings.GraderView = CMS.Views.ValidatingView.extend({ } }, deleteModel : function(e) { - this.model.destroy( - { error : CMS.ServerError}); + this.model.destroy(); e.preventDefault(); } -}); \ No newline at end of file +}); diff --git a/cms/static/js/views/validating_view.js b/cms/static/js/views/validating_view.js index 5635d1e357..afb355ad4a 100644 --- a/cms/static/js/views/validating_view.js +++ b/cms/static/js/views/validating_view.js @@ -3,7 +3,6 @@ CMS.Views.ValidatingView = Backbone.View.extend({ // decorates the fields. Needs wiring per class, but this initialization shows how // either have your init call this one or copy the contents initialize : function() { - this.listenTo(this.model, 'error', CMS.ServerError); this.listenTo(this.model, 'invalid', this.handleValidationError); this.selectorToField = _.invert(this.fieldToSelectorMap); }, diff --git a/cms/templates/base.html b/cms/templates/base.html index cc6b32a4d2..6a6238d15b 100644 --- a/cms/templates/base.html +++ b/cms/templates/base.html @@ -109,6 +109,25 @@ +