]> dev.renevier.net Git - syj.git/blobdiff - public/js/syj.js
fixes: not possible to upload path after it has been droped from a file
[syj.git] / public / js / syj.js
index 47e5540f3377d89591e5f2a9d731bf96e7699077..9d7f974793222537f14a502d7b9cd75cd75013e8 100644 (file)
@@ -388,7 +388,7 @@ var SYJView = {
                         } catch(e) {
                         }
                         if (results || results.length) {
-                            break;
+                            continue;
                         }
                     }
                     if (!results || !results.length) {
@@ -404,7 +404,20 @@ var SYJView = {
                     }
                     this.viewLayer.addFeatures([vector]);
                     this.map.zoomToExtent(this.viewLayer.getDataExtent());
-                    this.editMode();
+
+                    if ($("edit-btn")) {
+                        $("edit-btn").click();
+                    } else if ($("create-btn")) {
+                        $("create-btn").click();
+                    }
+
+                    if (this.editControl.handler.realPoints.length < 2) {
+                        SyjSaveUI.disable();
+                    } else {
+                        SyjSaveUI.enable();
+                    }
+
+
                     if (vector.data && vector.data.name) {
                         $("geom_title").value = vector.data.name;
                     }
@@ -531,28 +544,6 @@ var SYJView = {
             styles = this.editControl.handler.layerOptions.styleMap.styles;
             styles.select = styles.select_for_canvas;
         }
-        new CloseBtn($("geomform"), {
-            style : {
-                marginRight: "-40px",
-                marginTop: "-20px"
-            },
-            callback: function(form) {
-                this.viewMode();
-                this.mode = 'view';
-                SYJDataUi.viewmode();
-                this.messenger.hide();
-
-                if (this.unsavedRoute && typeof this.unsavedRoute.features !== "undefined") {
-                    this.viewLayer.addFeatures(this.unsavedRoute.features);
-                }
-                if (this.unsavedRoute && typeof this.unsavedRoute.title !== "undefined") {
-                    $("geom_title").value = this.unsavedRoute.title;
-                } else {
-                    $("geom_title").value = "";
-                }
-                this.unsavedRoute = null;
-            }.bind(this)
-        });
     },
 
     saveSuccess: function(transport) {
@@ -811,7 +802,14 @@ var SYJUserClass = Class.create(SYJModalClass, {
     },
 
     success: function(transport) {
-        LoginMgr.login();
+        if (!transport.responseJSON ||
+            typeof transport.responseJSON.pseudo !== "string"
+            ) {
+            this.messenger.setMessage(SyjStrings.unknownError, "error");
+            return;
+        }
+
+        LoginMgr.login(transport.responseJSON.pseudo);
         SYJView.messenger.setMessage(SyjStrings.userSuccess, "success");
         this.modalbox.hide();
         if (SYJView.needsFormResubmit) {
@@ -889,14 +887,8 @@ var SYJLoginClass = Class.create(SYJModalClass, {
             this.messenger.setMessage(SyjStrings.unknownError, "error");
             return;
         }
-        LoginMgr.login(transport.responseJSON.iscreator);
-        $$('.logged-pseudo').each(function(elt) {
-            $A(elt.childNodes).filter(function(node) {
-                return (node.nodeType === 3 || node.tagName.toLowerCase() === 'br');
-            }).each(function(node) {
-                node.nodeValue = node.nodeValue.replace('%s', transport.responseJSON.pseudo);
-            });
-        });
+        LoginMgr.login(transport.responseJSON.pseudo, transport.responseJSON.iscreator);
+
         SYJView.messenger.setMessage(SyjStrings.loginSuccess, "success");
         this.modalbox.hide();
         if (SYJView.needsFormResubmit) {
@@ -979,11 +971,18 @@ var LoginMgr = Object.extend(gLoggedInfo, {
         }
     },
 
-    login: function(aIsCreator) {
+    login: function(aPseudo, aIsCreator) {
         if (typeof aIsCreator === "boolean") {
             this.iscreator = aIsCreator;
         }
         this.logged = true;
+        $$('.logged-pseudo').each(function(elt) {
+            $A(elt.childNodes).filter(function(node) {
+                return (node.nodeType === 3 || node.tagName.toLowerCase() === 'br');
+            }).each(function(node) {
+                node.nodeValue = node.nodeValue.replace('%s', aPseudo);
+            });
+        });
         this.updateUI();
     }
 });