Author: olamy
Date: Mon Jan 23 16:22:01 2012
New Revision: 1234883

URL: http://svn.apache.org/viewvc?rev=1234883&view=rev
Log:
use a callback pattern with non blocking call to check admin exists and menu 
entries needed karmas

Modified:
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/redback.js

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js?rev=1234883&r1=1234882&r2=1234883&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js
 Mon Jan 23 16:22:01 2012
@@ -114,11 +114,8 @@ $(function() {
     $.log("hideElementWithKarma");
   }
 
-
-  checkSecurityLinks=function(){
-    $.log("checkSecurityLinks");
-    var user = userLogged();
-    $.log("checkSecurityLinks, user:"+user);
+  userLoggedCallbackFn=function(user){
+    $.log("userLoggedCallbackFn:"+ (user?user.username:null));
 
     if (!user) {
       $("#login-link").show();
@@ -133,11 +130,14 @@ $(function() {
     }
   }
 
+  checkSecurityLinks=function(){
+    userLogged(userLoggedCallbackFn);
+  }
+
   checkCreateAdminLink=function(){
     $.ajax("restServices/redbackServices/userService/isAdminUserExists", {
       type: "GET",
       dataType: 'json',
-      async: false,
       success: function(data) {
         var adminExists = JSON.parse(data);
         if (adminExists == false) {
@@ -165,9 +165,9 @@ $(function() {
     $('#topbar-menu-container').html($("#topbar-menu"));
     $('#sidebar-content').html($("#main-menu"));
 
-    checkCreateAdminLink();
     hideElementWithKarma();
     checkSecurityLinks();
+    checkCreateAdminLink();
   }
   startArchivaApplication();
 })

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/redback.js
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/redback.js?rev=1234883&r1=1234882&r2=1234883&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/redback.js
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/redback.js
 Mon Jan 23 16:22:01 2012
@@ -32,25 +32,22 @@ $(function() {
   });
 
   /**
-   * return a user see user.js if user logged otherwise null
+   * call successFn on success with passing user object coming from cookie
    */
-  userLogged=function() {
+  userLogged=function(successFn) {
     // call restServices/redbackServices/loginService/isLogged to know
     // if a session exists and check the cookie
     $.log("userLogged");
     var userLogged = true;
     $.ajax("restServices/redbackServices/loginService/isLogged", {
       type: "GET",
-      async: false,
       success: function(data) {
         userLogged = JSON.parse(data);
+        if (successFn){
+          successFn(userLogged == false ? null : 
jQuery.parseJSON($.cookie('redback_login')));
+        }
       }
     });
-    if (userLogged == false)
-    {
-      return null;
-    }
-    return jQuery.parseJSON($.cookie('redback_login'));
   }
 
 });
\ No newline at end of file


Reply via email to