X-Git-Url: https://dev.renevier.net/gitweb.cgi?a=blobdiff_plain;f=public%2Fjs%2Fsyj.js;h=4b7f01d9a39dda1f010856080f130cc806577a0f;hb=66441b64eacf64a0f7a14246139ed807ab816a04;hp=e32bc06bc5d45942308a0364fee384f09e09a7de;hpb=549a86ba5724503f5a7768ed87008ab1e2cb5921;p=syj.git diff --git a/public/js/syj.js b/public/js/syj.js index e32bc06..4b7f01d 100644 --- a/public/js/syj.js +++ b/public/js/syj.js @@ -227,7 +227,7 @@ var SYJView = { needsFormResubmit: false, init: function() { - var externalGraphic, baseURL, baseLayer, layerOptions, extent = null, hidemessenger; + var externalGraphic, baseURL, baseLayer, layerOptions, extent, hidemessenger; // is svg context, opera does not resolve links with base element is svg context externalGraphic = styleMap.edit.styles.select.defaultStyle.externalGraphic; @@ -278,7 +278,6 @@ var SYJView = { this.messenger.hide(); } - extent = null; if ($("geom_data").value) { this.viewLayer.addFeatures([this.wkt.read($("geom_data").value)]); extent = this.viewLayer.getDataExtent(); @@ -395,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; @@ -412,20 +411,15 @@ var SYJView = { if (transport) { httpCode = transport.getStatus(); } - message = ""; switch (httpCode) { case 0: message = SyjStrings.notReachedError; 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; @@ -434,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;