[imp] implemented logout + improved login design

bzr revid: nicolas.vanhoren@openerp.com-20110606090454-b2t5wun7vgcj5qb6
This commit is contained in:
niv-openerp
2011-06-06 11:04:54 +02:00
parent 837c1646a9
commit 0a4a4e799a
3 changed files with 32 additions and 14 deletions
+9 -8
View File
@@ -61,19 +61,20 @@ body.openerp {
/* Login */
.openerp .login {
display: none;
padding: 6px;
z-index: 1002;
width: 34%;
position: fixed;
top: 0;
left: 33%;
}
.openerp .login_valid {
background-color: #8f8;
}
.openerp .login_invalid {
background-color: #f88;
}
.openerp.login-mode .login {
display: block;
}
.openerp.login-mode #oe_menu,
.openerp.login-mode #oe_secondary_menu,
.openerp.login-mode #oe_app {
display: none;
}
/* Main*/
+18 -5
View File
@@ -441,6 +441,13 @@ openerp.base.Session = openerp.base.BasicController.extend( /** @lends openerp.b
this.set_cookie('uid', this.uid);
this.set_cookie('session_id', this.session_id);
},
logout: function() {
this.uid = this.get_cookie('uid');
this.session_id = this.get_cookie('session_id');
this.set_cookie('uid', false);
this.set_cookie('session_id', false);
this.on_session_invalid(function() {});
},
/**
* Fetches a cookie stored by an openerp session
*
@@ -777,14 +784,14 @@ openerp.base.Login = openerp.base.Controller.extend({
on_login_invalid: function() {
this.$element
.removeClass("login_valid")
.addClass("login_invalid")
.show();
.addClass("login_invalid");
this.$element.closest(".openerp").addClass("login-mode");
},
on_login_valid: function() {
this.$element
.removeClass("login_invalid")
.addClass("login_valid")
.hide();
.addClass("login_valid");
this.$element.closest(".openerp").removeClass("login-mode");
},
on_submit: function(ev) {
ev.preventDefault();
@@ -810,6 +817,9 @@ openerp.base.Login = openerp.base.Controller.extend({
unique: true,
callback: continuation
});
},
on_logout: function() {
this.session.logout();
}
});
@@ -822,7 +832,9 @@ openerp.base.Header = openerp.base.Controller.extend({
},
do_update: function() {
this.$element.html(QWeb.render("Header", this));
}
this.$element.find(".logout").click(this.on_logout);
},
on_logout: function() {}
});
openerp.base.Menu = openerp.base.Controller.extend({
@@ -937,6 +949,7 @@ openerp.base.WebClient = openerp.base.Controller.extend({
this.header = new openerp.base.Header(this.session, "oe_header");
this.login = new openerp.base.Login(this.session, "oe_login");
this.header.on_logout.add(this.login.on_logout);
this.session.on_session_invalid.add(this.login.do_ask_login);
this.session.on_session_valid.add_last(this.header.do_update);
+5 -1
View File
@@ -17,7 +17,6 @@
<p>#{text}</p>
</div>
</div>
<div id="oe_login" class="login"></div>
<table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%" class="main_table">
<tr>
<td colspan="2">
@@ -34,6 +33,11 @@
</div>
</td>
</tr>
<tr>
<td colspan="2">
<div id="oe_login" class="login"></div>
</td>
</tr>
<tr>
<td colspan="2">
<div id="oe_footer" class="oe_footer">