Finding my way around Backbone, Underscore, and Bootstrap
parent
5704271973
commit
fa0a6a7b4e
|
@ -108,7 +108,23 @@ public class ScopeAPI {
|
||||||
public String createScope(@RequestBody String json, ModelMap m) {
|
public String createScope(@RequestBody String json, ModelMap m) {
|
||||||
SystemScope scope = gson.fromJson(json, SystemScope.class);
|
SystemScope scope = gson.fromJson(json, SystemScope.class);
|
||||||
|
|
||||||
scope = scopeService.save(scope);
|
SystemScope alreadyExists = scopeService.getByValue(scope.getValue());
|
||||||
|
if (alreadyExists != null) {
|
||||||
|
//Error, cannot save a scope with the same value as an existing one
|
||||||
|
logger.error("Error: attempting to save a scope with a value that already exists: " + scope.getValue());
|
||||||
|
m.put("code", HttpStatus.CONFLICT);
|
||||||
|
m.put("entity", "A scope with value " + scope.getValue() + "already exists, please choose a different value.");
|
||||||
|
return "jsonEntityView";
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
scope = scopeService.save(scope);
|
||||||
|
} catch (RuntimeException e) {
|
||||||
|
logger.error("There was an error attempting to save scope: " + scope + " : " + e.getStackTrace().toString());
|
||||||
|
m.put("code", HttpStatus.BAD_REQUEST);
|
||||||
|
m.put("entity", "An error occurred while processing your request");
|
||||||
|
return "jsonEntityView";
|
||||||
|
}
|
||||||
|
|
||||||
if (scope != null && scope.getId() != null) {
|
if (scope != null && scope.getId() != null) {
|
||||||
|
|
||||||
|
|
|
@ -250,6 +250,10 @@ var BlackListWidgetView = ListWidgetView.extend({
|
||||||
item.save({}, {
|
item.save({}, {
|
||||||
success:function() {
|
success:function() {
|
||||||
_self.collection.add(item);
|
_self.collection.add(item);
|
||||||
|
},
|
||||||
|
error:function(error, response) {
|
||||||
|
console.log("error: " + error);
|
||||||
|
console.log("response: " + response);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -222,9 +222,13 @@ var SystemScopeFormView = Backbone.View.extend({
|
||||||
app.systemScopeList.add(_self.model);
|
app.systemScopeList.add(_self.model);
|
||||||
app.navigate('admin/scope', {trigger: true});
|
app.navigate('admin/scope', {trigger: true});
|
||||||
},
|
},
|
||||||
error:function(model,resp) {
|
error:function(error, response) {
|
||||||
console.error("The scope didn't save correctly.", resp);
|
if (response.status == 409) {
|
||||||
}
|
//Conflict, scope already exists
|
||||||
|
$('#value input').css('border', '1px solid red');
|
||||||
|
//add hint to choose a different value
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue