summaryrefslogtreecommitdiff
path: root/addons/base/static/src
diff options
context:
space:
mode:
authorniv-openerp <nicolas.vanhoren@openerp.com>2011-06-06 11:04:54 +0200
committerniv-openerp <nicolas.vanhoren@openerp.com>2011-06-06 11:04:54 +0200
commit0a4a4e799aba0606d00cdb3be44abdae788c01bd (patch)
tree75846d531b287aea428631cc18b9cbc271d0423e /addons/base/static/src
parent837c1646a9c63a6d578afb2e073fa1ec4f1c4827 (diff)
[imp] implemented logout + improved login design
bzr revid: nicolas.vanhoren@openerp.com-20110606090454-b2t5wun7vgcj5qb6
Diffstat (limited to 'addons/base/static/src')
-rw-r--r--addons/base/static/src/css/base.css17
-rw-r--r--addons/base/static/src/js/chrome.js23
-rw-r--r--addons/base/static/src/xml/base.xml6
3 files changed, 32 insertions, 14 deletions
diff --git a/addons/base/static/src/css/base.css b/addons/base/static/src/css/base.css
index d9042e7e251..f65a9be5253 100644
--- a/addons/base/static/src/css/base.css
+++ b/addons/base/static/src/css/base.css
@@ -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*/
diff --git a/addons/base/static/src/js/chrome.js b/addons/base/static/src/js/chrome.js
index 86549eca001..cefa4c89c84 100644
--- a/addons/base/static/src/js/chrome.js
+++ b/addons/base/static/src/js/chrome.js
@@ -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);
diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml
index b8412aa1b19..3a8e5128f6f 100644
--- a/addons/base/static/src/xml/base.xml
+++ b/addons/base/static/src/xml/base.xml
@@ -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">
@@ -36,6 +35,11 @@
</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">
<p class="oe_footer_powered">Powered by <a href="http://www.openerp.com">openerp.com</a>.</p>
</div>