summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2011-09-14 12:15:31 +0200
committerXavier Morel <xmo@openerp.com>2011-09-14 12:15:31 +0200
commitc5c689a21c3ddeb200aeb6087e244ebcbbb0ae35 (patch)
treefc2606daaad32aab32496c7c2851921790a6a602
parente70ebcab8de4a0502433db7cd0c3d73712545392 (diff)
[IMP] when hiding a given menu tip, hide for the length of the web client session
bzr revid: xmo@openerp.com-20110914101531-ci5c8z7rearvycyh
-rw-r--r--addons/web/static/src/js/views.js25
-rw-r--r--addons/web/static/src/xml/base.xml2
2 files changed, 18 insertions, 9 deletions
diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js
index 5ecf462870b..5048f18d4c2 100644
--- a/addons/web/static/src/js/views.js
+++ b/addons/web/static/src/js/views.js
@@ -327,6 +327,12 @@ openerp.web.ViewManagerAction = openerp.web.ViewManager.extend(/** @lends oepner
// buttons, sidebar, ...) displaying
this.flags.search_view = this.flags.pager = this.flags.sidebar = this.flags.action_buttons = false;
}
+
+ // setup storage for session-wise menu hiding
+ if (this.session.hidden_menutips) {
+ return;
+ }
+ this.session.hidden_menutips = {}
},
/**
* Initializes the ViewManagerAction: sets up the searchview (if the
@@ -370,7 +376,7 @@ openerp.web.ViewManagerAction = openerp.web.ViewManager.extend(/** @lends oepner
if (this.action.help) {
var Users = new openerp.web.DataSet(self, 'res.users'),
header = this.$element.find('.oe-view-manager-header');
- header.delegate(' blockquote button', 'click', function () {
+ header.delegate('blockquote button', 'click', function () {
var $this = $(this);
//noinspection FallthroughInSwitchStatementJS
switch($this.attr('name')) {
@@ -378,15 +384,18 @@ openerp.web.ViewManagerAction = openerp.web.ViewManager.extend(/** @lends oepner
Users.write(self.session.uid, {menu_tips: false});
case 'hide':
$this.closest('blockquote').hide();
+ self.session.hidden_menutips[self.action.id] = true;
}
});
- Users.read_ids([this.session.uid], ['menu_tips'], function (users) {
- var user = users[0];
- if (!(user && user.id === self.session.uid)) {
- return;
- }
- header.find('blockquote').toggle(user.menu_tips);
- });
+ if (!(self.action.id in self.session.hidden_menutips)) {
+ Users.read_ids([this.session.uid], ['menu_tips'], function (users) {
+ var user = users[0];
+ if (!(user && user.id === self.session.uid)) {
+ return;
+ }
+ header.find('blockquote').toggle(user.menu_tips);
+ });
+ }
}
return manager_ready;
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index 9007955b056..69ead1d2c32 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -445,7 +445,7 @@
<t t-extend="ViewManager" t-name="ViewManagerAction">
<t t-jquery=".oe-view-manager-header" t-operation="prepend">
- <blockquote t-if="self.action.help">
+ <blockquote t-if="self.action.help and !(self.action.id in self.session.hidden_menutips)">
<p><t t-esc="self.action.help"/></p>
<div>
<button type="button" name="hide">Hide this tip</button>