[imp] added remember password

bzr revid: nicolas.vanhoren@openerp.com-20110608094426-nl8wdk7ywecrolzn
This commit is contained in:
niv-openerp
2011-06-08 11:44:26 +02:00
parent 6b67b72ccd
commit 8d2123f6e5
3 changed files with 49 additions and 9 deletions
+6
View File
@@ -94,6 +94,12 @@ body.openerp {
.openerp .login .oe_box2 td select {
width: 100%;
}
.openerp .login .oe_box2 td.oe_remember {
text-align:left;
}
.openerp .login .oe_box2 td.oe_remember input {
width: inherit;
}
.openerp .login .oe_login_right_pane {
padding:70px 35px 5px 10px;
min-width: 200px;
+25 -4
View File
@@ -776,8 +776,17 @@ openerp.base.Database = openerp.base.Controller.extend({
openerp.base.Login = openerp.base.Controller.extend({
init: function(session, element_id) {
this._super(session, element_id);
this.selected_db = this.session.get_cookie('last_db_login_success') || null;
this.selected_login = this.session.get_cookie('last_login_login_success') || null;
this.has_local_storage = typeof(localStorage) != 'undefined';
this.selected_db = null;
this.selected_login = null;
this.selected_password = null;
this.remember = false;
if (this.has_local_storage && localStorage.getItem('remember_creditentials') === 'true') {
this.remember = true;
this.selected_db = localStorage.getItem('last_db_login_success');
this.selected_login = localStorage.getItem('last_login_login_success');
this.selected_password = localStorage.getItem('last_password_login_success');
}
},
start: function() {
var self = this;
@@ -805,12 +814,24 @@ openerp.base.Login = openerp.base.Controller.extend({
var db = $e.find("form [name=db]").val();
var login = $e.find("form input[name=login]").val();
var password = $e.find("form input[name=password]").val();
var remember = $e.find("form input[name=remember]").attr('checked');
//$e.hide();
// Should hide then call callback
this.session.session_login(db, login, password, function() {
if(self.session.session_is_valid()) {
self.session.set_cookie('last_db_login_success', db);
self.session.set_cookie('last_login_login_success', login);
if (self.has_local_storage) {
if(remember) {
localStorage.setItem('remember_creditentials', 'true');
localStorage.setItem('last_db_login_success', db);
localStorage.setItem('last_login_login_success', login);
localStorage.setItem('last_password_login_success', password);
} else {
localStorage.setItem('remember_creditentials', '');
localStorage.setItem('last_db_login_success', '');
localStorage.setItem('last_login_login_success', '');
localStorage.setItem('last_password_login_success', '');
}
}
self.on_login_valid();
} else {
self.$element.addClass("login_invalid");
+18 -5
View File
@@ -60,7 +60,7 @@
<table align="center" cellspacing="2px" cellpadding="0">
<tr>
<td><label for="db">Database:</label></td>
<td class="oe_field_value">
<td>
<t t-if="!db_list">
<input type="text" name="db" value="trunk" autofocus="true"/>
</t>
@@ -68,7 +68,8 @@
<select name="db">
<t t-foreach="db_list" t-as="db">
<t t-if="selected_db === db">
<option t-att-value="db" selected="true"><t t-esc="db"/></option>
<option t-att-value="db" selected="true">
<t t-esc="db"/></option>
</t>
<t t-if="selected_db !== db">
<option t-att-value="db"><t t-esc="db"/></option>
@@ -80,16 +81,28 @@
</tr>
<tr>
<td><label for="login">User:</label></td>
<td class="oe_field_value"><input type="text" name="login"
<td><input type="text" name="login"
t-att-value="selected_login || ''" autofocus="true"/></td>
</tr>
<tr>
<td><label for="password">Password:</label></td>
<td class="oe_field_value"><input type="password" name="password" value="a"/></td>
<td><input type="password" name="password"
t-att-value="selected_password || ''"/></td>
</tr>
<tr t-if="has_local_storage">
<td><label for="remember">Rember password:</label></td>
<td class="oe_remember">
<t t-if="remember">
<input type="checkbox" name="remember" checked="yes"/>
</t>
<t t-if="!remember">
<input type="checkbox" name="remember"/>
</t>
</td>
</tr>
<tr>
<td></td>
<td class="oe_field_value">
<td>
<button type="submit" name="submit">Login</button>
</td>
</tr>