moved the logged in user fetching to an external JS file. shoved into onload instead...
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 25 Jun 2008 18:25:42 +0000 (18:25 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 25 Jun 2008 18:25:42 +0000 (18:25 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@9930 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/oilsweb/oilsweb/public/oils/media/ui_js/oils/base.js [new file with mode: 0644]
Open-ILS/web/oilsweb/oilsweb/templates/oils/base.html
Open-ILS/web/oilsweb/oilsweb/templates/oils/default/header.html

diff --git a/Open-ILS/web/oilsweb/oilsweb/public/oils/media/ui_js/oils/base.js b/Open-ILS/web/oilsweb/oilsweb/public/oils/media/ui_js/oils/base.js
new file mode 100644 (file)
index 0000000..4cdd9a0
--- /dev/null
@@ -0,0 +1,42 @@
+function loadUser(username, password) {
+    dojo.require('dojo.cookie');
+    dojo.require('openils.CGI');
+    dojo.require("openils.User");
+
+    openils.User.authcookie = 'ses';
+    openils.User.authtoken = dojo.cookie('ses') || new openils.CGI().param('ses');
+    // cache the user object as a cookie?
+    //openils.User.user = JSON2js(dojo.cookie('user'));
+
+    if(!username) return;
+
+    dojo.require('openils.Event');
+
+    function dologin() {
+        openils.User.authtoken = null;
+        user = new openils.User();
+        user.login({
+            login_type:'staff', 
+            username:username, 
+            passwd:password, 
+            login:true
+        });
+        user.getBySession();
+        openils.User.authtoken = user.authtoken;
+        openils.User.user = user.user;
+        alert('user = ' + openils.User.user);
+        //dojo.cookie('user', js2JSON(openils.User.user),{path:'/'});
+    }
+
+    if(!openils.User.user) {
+        if(openils.User.authtoken) {
+            user = new openils.User();
+            openils.User.user = user.user;
+            if(openils.Event.parse(user.user)) // session timed out
+                dologin();
+        } else {
+            dologin();
+        }
+    }
+}
+
index 72987a6..02cdfa6 100644 (file)
     <link rel='stylesheet' type='text/css' 
         href='${c.oils.core.media_prefix.value}/css/theme/${c.oils.core.theme.value}.css'/>
 </%def>
-
 <%def name='block_js()'>
     <script type="text/javascript" src="${c.oils.core.media_prefix.value}/js/dojo/dojo/dojo.js"
         djConfig="parseOnLoad: true"></script>
+    <script src='${c.oils.core.media_prefix.value}/ui_js/oils/base.js'> </script>
 
     <script type="text/javascript">
         dojo.require("dojo.parser");
     </script>
 
     <script type='text/javascript'>
-        /* first thing, let's make sure we're logged in */
-        dojo.require('dojo.cookie');
-        dojo.require('openils.CGI');
-        dojo.require("openils.User");
-        openils.User.authcookie = 'ses';
-        openils.User.authtoken = dojo.cookie('ses') || new openils.CGI().param('ses');
+        <% import pylons %>
+        var username = null;
+        var password = null;
+        % if 'oils_demo_user' in pylons.config:
+            username = '${pylons.config.get("oils_demo_user")}';
+            password = '${pylons.config.get("oils_demo_password")}';
+        % endif
+        dojo.addOnLoad(function(){loadUser(username, password);});
     </script>
 </%def>
 
index 6937c40..748e240 100644 (file)
@@ -1,45 +1,10 @@
 # -*- coding: utf-8 -*-
 <div id='oils-base-header-content-div'>
-    <% 
-        import pylons
-        if 'oils_demo_user' in pylons.config:
-            auto_login = True
-        else:
-            auto_login = False
-    %>
-    % if auto_login:
-        <script>
-            dojo.require('openils.User');
-            dojo.require('openils.Event');
-            var user;
-
-            function dologin() {
-                var username = '${pylons.config.get("oils_demo_user")}';
-                var password = '${pylons.config.get("oils_demo_password")}';
-                openils.User.authtoken = null;
-                user = new openils.User();
-                user.login({
-                    login_type:'staff', 
-                    username:username, 
-                    passwd:password, 
-                    login:true
-                });
-                user.getBySession();
-                openils.User.authtoken = user.authtoken;
-            }
-
-            if(openils.User.authtoken) {
-                user = new openils.User();
-                if(openils.Event.parse(user.user)) // session timed out
-                    dologin();
-            } else {
-                dologin();
-            }
-        </script>
-        <span id='oils-base-header-user-info'> </span>
-        <script>
+    <span id='oils-base-header-user-info'> </span>
+    <script>
+        dojo.addOnLoad(function(){
             dojo.byId('oils-base-header-user-info').appendChild(
-                document.createTextNode(user.user.usrname()));
-        </script>
-    % endif
+                document.createTextNode(openils.User.user.usrname()));
+        });
+    </script>
 </div>