summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js
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 /addons/web/static/src/js
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
Diffstat (limited to 'addons/web/static/src/js')
-rw-r--r--addons/web/static/src/js/views.js25
1 files changed, 17 insertions, 8 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;