[IMP] when hiding a given menu tip, hide for the length of the web client session

bzr revid: xmo@openerp.com-20110914101531-ci5c8z7rearvycyh
This commit is contained in:
Xavier Morel 2011-09-14 12:15:31 +02:00
parent e70ebcab8d
commit c5c689a21c
2 changed files with 18 additions and 9 deletions

View File

@ -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;

View File

@ -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>