[imp] login improvements
bzr revid: nicolas.vanhoren@openerp.com-20110608094528-kht3wkv3jo6trprk
This commit is contained in:
commit
61c1c1e88c
|
@ -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;
|
||||
|
|
|
@ -776,6 +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.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;
|
||||
|
@ -786,10 +797,10 @@ openerp.base.Login = openerp.base.Controller.extend({
|
|||
self.display();
|
||||
});
|
||||
},
|
||||
display: function() {
|
||||
display: function() {
|
||||
this.$element.html(QWeb.render("Login", this));
|
||||
this.$element.find("form").submit(this.on_submit);
|
||||
},
|
||||
},
|
||||
on_login_invalid: function() {
|
||||
this.$element.closest(".openerp").addClass("login-mode");
|
||||
},
|
||||
|
@ -803,10 +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()) {
|
||||
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");
|
||||
|
|
|
@ -60,14 +60,20 @@
|
|||
<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>
|
||||
<t t-if="db_list">
|
||||
<select name="db">
|
||||
<t t-foreach="db_list" t-as="db">
|
||||
<option t-att-value="db" t-att-selected="db == 'trunk'"><t t-esc="db"/></option>
|
||||
<t t-if="selected_db === db">
|
||||
<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>
|
||||
</t>
|
||||
</t>
|
||||
</select>
|
||||
</t>
|
||||
|
@ -75,15 +81,28 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td><label for="login">User:</label></td>
|
||||
<td class="oe_field_value"><input type="text" name="login" value="admin" autofocus="true"/></td>
|
||||
<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>
|
||||
|
|
Loading…
Reference in New Issue