Backbone section: don't save name on validation error

This commit is contained in:
David Baumgold
2013-05-17 13:24:36 -04:00
parent 55cd8afe34
commit 0052eaacbc
2 changed files with 8 additions and 0 deletions

View File

@@ -74,3 +74,10 @@ describe "CMS.Views.SectionEdit", ->
expect(@view.showInvalidMessage).toHaveBeenCalledWith(
jasmine.any(Object), "BLARRGH", jasmine.any(Object))
expect(@view.switchToShowView).not.toHaveBeenCalled()
it "should not save when validation is unsuccessful", ->
spyOn(@model, 'validate').andReturn("BLARRGH")
@view.$("input[type=text]").val("changed")
@view.$("input[type=submit]").click()
expect(@model.get('name')).not.toEqual("changed")

View File

@@ -68,6 +68,7 @@ CMS.Views.SectionEdit = Backbone.View.extend({
this.showView.render();
},
showInvalidMessage: function(model, error, options) {
model.set("name", model.previous("name"));
var that = this;
var msg = new CMS.Models.ErrorMessage({
title: gettext("Your change could not be saved"),