]> dev.renevier.net Git - syj.git/commitdiff
warns user when there is a server side error
authorarno <arno@renevier.net>
Fri, 18 Mar 2011 12:35:42 +0000 (13:35 +0100)
committerarno <arno@renevier.net>
Sun, 20 Mar 2011 14:46:55 +0000 (15:46 +0100)
public/js/syj.js

index bfd0a64e7a7bd22cbb7cd50ab4d5b0e29997c75a..9e5b60202fef19c33cd334f54f3af3ff6ff1ae4b 100644 (file)
@@ -517,8 +517,14 @@ var SYJView = {
     },
 
     saveSuccess: function(transport) {
-      this.unsavedRoute = null;
+      // server sends and empty response on success. If we get a response, that
+      // probably means an error or warning has been printed by server.
+      if (!transport.responseJSON && transport.responseText.length) {
+          this.saveFailure(null, 500);
+          return;
+      }
 
+      this.unsavedRoute = null;
       if (transport.responseJSON && (typeof transport.responseJSON.redirect === "string")) {
           location = transport.responseJSON.redirect;
           return;
@@ -529,12 +535,12 @@ var SYJView = {
       document.title = $('geom_title').value;
     },
 
-    saveFailure: function(transport) {
-        var httpCode = 0, message = "";
-
-        if (transport) {
-            httpCode = transport.getStatus();
+    saveFailure: function(transport, httpCode) {
+        var message = "";
+        if (typeof httpCode === "undefined") {
+            httpCode = transport? transport.getStatus(): 0;
         }
+
         switch (httpCode) {
             case 0:
                 message = SyjStrings.notReachedError;