map: null,
wkt: new OpenLayers.Format.WKT({ internalProjection: Mercator, externalProjection: WGS84 }),
needsFormResubmit: false,
+ hasInitialGeom: false,
init: function() {
var externalGraphic, baseURL, baseLayer, layerOptions, extent, hidemessenger;
// XXX: ie has not guessed height of map main div yet during map
// initialisation. Now, it will read it correctly.
this.map.updateSize();
+ this.hasInitialGeom = true;
} else {
extent = new OpenLayers.Bounds(gMaxExtent.minlon, gMaxExtent.minlat, gMaxExtent.maxlon, gMaxExtent.maxlat)
.transform(WGS84, Mercator);
},
saveSuccess: function(transport) {
- if (!$("geom_id").value) {
+ if (!this.hasInitialGeom) { // we have created a new path, change location
location = "idx/" + transport.responseText;
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;