]> dev.renevier.net Git - syj.git/commitdiff
fixes: ui is not correctly refreshed after account creation
authorarno <arno@renevier.net>
Wed, 22 Sep 2010 13:07:15 +0000 (15:07 +0200)
committerarno <arno@renevier.net>
Wed, 22 Sep 2010 13:07:15 +0000 (15:07 +0200)
application/controllers/UserController.php
public/js/syj.js
public/js/utils.js

index f802b16b66d85eba8c80dd595eebf8d71a4dd60d..1d4ed1826ee114d91a7ad242b0b12b7c31b927d8 100644 (file)
@@ -62,6 +62,8 @@ class UserController extends Zend_Controller_Action
         }
 
         $this->_helper->SyjSession->login($user->id);
-        $this->_helper->SyjApi->setCode(200);
+
+        $data = array('pseudo' => $user->pseudo);
+        $this->_helper->SyjApi->setBodyJson($data)->setCode(200);
     }
 }
index 50184b2a6974fe0c97dc8f43db21a78d609166d0..3606cd07eb50b5290262d3c53606723cb8e26696 100644 (file)
@@ -789,7 +789,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) {
@@ -867,14 +874,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) {
@@ -957,11 +958,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();
     }
 });
index aba7b1d1f7aa6ebd91187612b4afba17af77bbd2..b16a9c2ec4206c1ec83bba7ca38e20f425585a60 100644 (file)
@@ -395,7 +395,7 @@ Element.addMethods('div', {
 
         while (node) {
             nextNode = node.nextSibling;
-            if (node.nodeType === 3 || node.tagName.toLowerCase() === 'br') {
+            if (node.nodeType === 3 || node.tagName.toLowerCase() === 'br' || node.textContent || node.innerText) {
                 div.removeChild(node);
             }
                 node = nextNode;
@@ -408,7 +408,7 @@ Element.addMethods('div', {
         var node = (div.ownerDocument || document).createTextNode(message);
 
         if ($A(div.childNodes).filter(function(node) {
-                return (node.nodeType === 3 || node.tagName.toLowerCase() === 'br');
+                return (node.nodeType === 3 || node.tagName.toLowerCase() === 'br' || node.textContent || node.innerText);
              }).length) {
             div.insert(new Element('br'));
         }