},
saveSuccess: function(transport) {
- if (!$("geom_id").value) {
- location = "idx/" + transport.responseText;
+ if (transport.responseJSON && (typeof transport.responseJSON.redirect === "string")) {
+ location = transport.responseJSON.redirect;
return;
}
- this.messenger.setMessage(SyjStrings.saveSuccess, "success");
+ this.messenger.setMessage(SyjStrings.saveSuccess, "success");
SyjSaveUI.hide();
SyjEditUI.show();
document.title = $('geom_title').value;
break;
case 400:
case 404:
- case 410:
- message = SyjStrings.requestError; // default message
+ message = SyjStrings.requestError;
if (transport.responseJSON) {
switch (transport.responseJSON.message) {
- case "unreferenced":
- message = SyjStrings.unreferencedError;
- break;
case "uniquepath":
message = SyjStrings.uniquePathError;
break;
}
}
break;
+ case 403:
+ message = "";
+ SYJLogin.messenger.setMessage(SyjStrings.loginNeeded, "warn");
+ SYJLogin.modalbox.show();
+ this.needsFormResubmit = true;
+ break;
+ case 410:
+ message = SyjStrings.gonePathError;
+ break;
case 500:
message = SyjStrings.serverError;
this.needsFormResubmit = true;