diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index dc599874909..433cdd2e638 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -989,6 +989,7 @@ label.error { width: 100%; } .openerp .oe-view-manager-header blockquote { + display: none; font-size: 85%; margin: 0; background: #fff; @@ -1000,6 +1001,19 @@ label.error { margin: 0; padding: 6px 1px 4px; } +.openerp .oe-view-manager-header blockquote div { + text-align: right; +} +.openerp .oe-view-manager-header blockquote div button { + border: none; + background: none; + padding: 0 4px; + margin: 0; + display: inline; + text-decoration: underline; + color: inherit; +} + .openerp .view-manager-main-sidebar { width: 180px; padding: 0; diff --git a/addons/web/static/src/js/data.js b/addons/web/static/src/js/data.js index 1eb57241fa6..e5d323c8a96 100644 --- a/addons/web/static/src/js/data.js +++ b/addons/web/static/src/js/data.js @@ -356,7 +356,7 @@ openerp.web.DataSet = openerp.web.Widget.extend( /** @lends openerp.web.DataSet * @returns {$.Deferred} */ write: function (id, data, options, callback, error_callback) { - var options = options || {}; + options = options || {}; return this.rpc('/web/dataset/save', { model: this.model, id: id, diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index c8b7b69a577..5ecf462870b 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -336,12 +336,6 @@ openerp.web.ViewManagerAction = openerp.web.ViewManager.extend(/** @lends oepner */ start: function() { var self = this; - this.$element.find('.oe_get_xml_view').click(function () { - // TODO: add search view? - $('
').text(openerp.web.json_node_to_xml(
- self.views[self.active_view].controller.fields_view.arch, true))
- .dialog({ width: '95%'});
- });
var searchview_loaded;
if (this.flags.search_view !== false) {
@@ -366,6 +360,35 @@ openerp.web.ViewManagerAction = openerp.web.ViewManager.extend(/** @lends oepner
// schedule auto_search
manager_ready.then(this.searchview.do_search);
}
+
+ this.$element.find('.oe_get_xml_view').click(function () {
+ // TODO: add search view?
+ $('').text(openerp.web.json_node_to_xml(
+ self.views[self.active_view].controller.fields_view.arch, true))
+ .dialog({ width: '95%'});
+ });
+ 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 () {
+ var $this = $(this);
+ //noinspection FallthroughInSwitchStatementJS
+ switch($this.attr('name')) {
+ case 'disable':
+ Users.write(self.session.uid, {menu_tips: false});
+ case 'hide':
+ $this.closest('blockquote').hide();
+ }
+ });
+ 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;
},
on_mode_switch: function (view_type) {
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index 750a42451a8..9007955b056 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -445,9 +445,13 @@
-
-
-
+
+
+
+
+
+
+