LocalStorage stores user information at login and cleared at logout or expiration...
authorLoic Baron <loic.baron@lip6.fr>
Thu, 3 Apr 2014 13:32:08 +0000 (15:32 +0200)
committerLoic Baron <loic.baron@lip6.fr>
Thu, 3 Apr 2014 13:32:08 +0000 (15:32 +0200)
auth/static/js/logout.js
manifoldapi/static/js/manifold.js
portal/static/js/myslice.js

index 9c9b453..593eb58 100644 (file)
@@ -4,7 +4,10 @@ function logout () {
     var username=$(this).data('username');
     var msg="Are you sure you want to logout as " + username + " ?";
     /* redirect to /logout, see urls.py */
-    if (confirm(msg)) window.location="/logout/";
+    if (confirm(msg)){
+        localStorage.removeItem('user');
+        window.location="/logout/";
+    }
 }
 /* attach this function to the logout button */
 $(document).ready(function() { $('#logout').click(logout); $('#logoutbtn').click(logout); });
index bbdbded..f0bbc8a 100644 (file)
@@ -699,6 +699,7 @@ var manifold = {
         if (data.code == 2) { // ERROR
             // We need to make sense of error codes here
             alert("Your session has expired, please log in again");
+            localStorage.removeItem('user');
             window.location="/logout/";
             if (manifold.asynchroneous_debug) {
                 duration=new Date()-start;
index 0807d49..2f86655 100644 (file)
@@ -106,16 +106,19 @@ var myslice = {
        user: function() {
                if ($.isEmptyObject(this.user)) {
                        //this.login(function() { return this.user; });
-                       this.user = localStorage.getItem('user');
+                       this.user = JSON.parse(localStorage.getItem('user'));
                }
                return this.user;
        },
 
        login: function(fn) {
-               $.post("/rest/user/",{'filters':{'user_hrn':'$user_hrn'}}, function( data ) {
-                       myslice.user = new user(data[0]);
-                       localStorage.setItem('user', JSON.stringify(myslice.user));
-               });
+        user = localStorage.getItem('user');
+        if($.isEmptyObject(user)){
+                   $.post("/rest/user/",{'filters':{'user_hrn':'$user_hrn'}}, function( data ) {
+                           //myslice.user = new user(data[0]);
+                           localStorage.setItem('user', JSON.stringify(data[0]));
+                   });
+        }
        },
 
     getSlices: function(name) {