]> dev.renevier.net Git - syj.git/blobdiff - public/js/syj.js
redirection after path creation is decided by server (php), not guessed by client...
[syj.git] / public / js / syj.js
index bb8ce117dab0e65263eff9496b0b0df920a71cc8..4b7f01d9a39dda1f010856080f130cc806577a0f 100644 (file)
@@ -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;