[MERGE] login nivified

bzr revid: al@openerp.com-20110928094122-qvlqcxya0ba3u7p7
This commit is contained in:
Antony Lesuisse 2011-09-28 11:41:22 +02:00
commit 0ecd9811b3
2 changed files with 37 additions and 32 deletions

View File

@ -463,6 +463,9 @@ openerp.web.Database = openerp.web.Widget.extend(/** @lends openerp.web.Database
openerp.web.Login = openerp.web.Widget.extend(/** @lends openerp.web.Login# */{
remember_creditentials: true,
template: "Login",
identifier_prefix: 'oe-app-login-',
/**
* @constructs openerp.web.Login
* @extends openerp.web.Widget
@ -471,8 +474,8 @@ openerp.web.Login = openerp.web.Widget.extend(/** @lends openerp.web.Login# */{
* @param element_id
*/
init: function(parent, element_id) {
this._super(parent, element_id);
init: function(parent) {
this._super(parent);
this.has_local_storage = typeof(localStorage) != 'undefined';
this.selected_db = null;
this.selected_login = null;
@ -487,17 +490,6 @@ openerp.web.Login = openerp.web.Widget.extend(/** @lends openerp.web.Login# */{
},
start: function() {
var self = this;
this.rpc("/web/database/get_list", {}, function(result) {
self.db_list = result.db_list;
self.display();
}, function() {
self.display();
});
},
display: function() {
var self = this;
this.$element.html(QWeb.render("Login", this));
this.database = new openerp.web.Database(
this, "oe_database", "oe_db_options");
@ -506,6 +498,17 @@ openerp.web.Login = openerp.web.Widget.extend(/** @lends openerp.web.Login# */{
});
this.$element.find("form").submit(this.on_submit);
this.rpc("/web/database/get_list", {}, function(result) {
var tpl = openerp.web.qweb.render('Login_dblist', {db_list: result.db_list, selected_db: self.selected_db});
self.$element.find("input[name=db]").replaceWith(tpl)
},
function(error, event) {
if (error.data.fault_code === 'AccessDenied') {
event.preventDefault();
}
});
},
on_login_invalid: function() {
this.$element.closest(".openerp").addClass("login-mode");
@ -933,7 +936,7 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie
openerp.web.Widget.prototype.notification = new openerp.web.Notification(this, "oe_notification");
this.header = new openerp.web.Header(this);
this.login = new openerp.web.Login(this, "oe_login");
this.login = new openerp.web.Login(this);
this.header.on_logout.add(this.login.on_logout);
this.header.on_action.add(this.on_menu_action);
@ -952,9 +955,9 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie
},
start: function() {
this.header.appendTo($("#oe_header"));
this.session.start();
this.login.start();
this.login.appendTo($('#oe_login'));
this.menu.start();
this.session.start();
},
on_logged: function() {
if(this.action_manager)

View File

@ -242,7 +242,23 @@
</table>
</form>
</t>
<t t-name="Login_dblist">
<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>
</t>
<t t-if="selected_db !== db">
<option t-att-value="db"><t t-esc="db"/></option>
</t>
</t>
</select>
</t>
<t t-name="Login">
<div>
<form class="oe_forms">
<fieldset>
<legend style="">
@ -253,22 +269,7 @@
<tr>
<td><label for="db">Database:</label></td>
<td>
<t t-if="!db_list">
<input type="text" name="db" t-att-value="selected_db || ''" autofocus="true"/>
</t>
<t t-if="db_list">
<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>
</t>
<t t-if="selected_db !== db">
<option t-att-value="db"><t t-esc="db"/></option>
</t>
</t>
</select>
</t>
<input type="text" name="db" t-att-value="selected_db || ''" autofocus="true"/>
</td>
</tr>
<tr>
@ -330,6 +331,7 @@
</table>
</div>
</div>
</t>
<t t-name="Header">
<div>