[FIX] remove password storing in localstorage
authorniv-openerp <nicolas.vanhoren@openerp.com>
Tue, 13 Aug 2013 14:16:51 +0000 (16:16 +0200)
committerniv-openerp <nicolas.vanhoren@openerp.com>
Tue, 13 Aug 2013 14:16:51 +0000 (16:16 +0200)
lp bug: https://launchpad.net/bugs/1211795 fixed

bzr revid: nicolas.vanhoren@openerp.com-20130813141651-b5f9eegs2edz4mny

addons/web/static/src/js/chrome.js

index db3cb69..82cdf46 100644 (file)
@@ -677,6 +677,19 @@ instance.web.Login =  instance.web.Widget.extend({
         if (this.params.login_successful) {
             this.on('login_successful', this, this.params.login_successful);
         }
+        // some cleanup to remove any trace of that last login feature
+        if (typeof(localStorage) != 'undefined') {
+            var toRemove = [];
+            _.each(_.range(localStorage.length), function(i) {
+                var key = localStorage.key(i);
+                if (key.match(/^.*?\|last_password$/)) {
+                    toRemove.push(key);
+                }
+            });
+            _.each(toRemove, function(k) {
+                localStorage.removeItem(k);
+            });
+        }
     },
     start: function() {
         var self = this;
@@ -701,9 +714,6 @@ instance.web.Login =  instance.web.Widget.extend({
                 .always(function() {
                     if (self.selected_db && self.has_local_storage && self.remember_credentials) {
                         self.$("[name=login]").val(localStorage.getItem(self.selected_db + '|last_login') || '');
-                        if (self.session.debug) {
-                            self.$("[name=password]").val(localStorage.getItem(self.selected_db + '|last_password') || '');
-                        }
                     }
                 });
         }
@@ -764,9 +774,6 @@ instance.web.Login =  instance.web.Widget.extend({
         return this.session.session_authenticate(db, login, password).then(function() {
             if (self.has_local_storage && self.remember_credentials) {
                 localStorage.setItem(db + '|last_login', login);
-                if (self.session.debug) {
-                    localStorage.setItem(db + '|last_password', password);
-                }
             }
             self.trigger('login_successful');
         }, function () {