X-Git-Url: https://dev.renevier.net/?a=blobdiff_plain;f=public%2Fjs%2Fsyj.js;h=4b7f01d9a39dda1f010856080f130cc806577a0f;hb=1d1b5940442782d78f796d8608e63328e2e8783b;hp=bb8ce117dab0e65263eff9496b0b0df920a71cc8;hpb=a602acd4b5d049d92b5793afb8e024717d2aa33f;p=syj.git diff --git a/public/js/syj.js b/public/js/syj.js index bb8ce11..4b7f01d 100644 --- a/public/js/syj.js +++ b/public/js/syj.js @@ -394,12 +394,12 @@ var SYJView = { }, 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; @@ -417,13 +417,9 @@ var SYJView = { 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; @@ -432,6 +428,15 @@ var SYJView = { } } 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;