diff --git a/web_mode_visibility/__init__.py b/web_mode_visibility/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/web_mode_visibility/__openerp__.py b/web_mode_visibility/__openerp__.py new file mode 100644 index 00000000..79068adb --- /dev/null +++ b/web_mode_visibility/__openerp__.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# This module copyright (C) 2013 Therp BV (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +{ + "name": "Visibility depending on view mode", + "version": "6.1.1.0r1", + "author": "Therp BV", + "category": "Tools", + "depends": ['web'], + "description": """ +Use the following context keys on fields to hide them in either page or form +mode: + +- page_invisible +- form_invisible + +This module is compatible with OpenERP 6.1. + """, + 'js': [ + 'static/src/js/web_mode_visibility.js', + ], +} diff --git a/web_mode_visibility/static/src/js/web_mode_visibility.js b/web_mode_visibility/static/src/js/web_mode_visibility.js new file mode 100644 index 00000000..4364cdf6 --- /dev/null +++ b/web_mode_visibility/static/src/js/web_mode_visibility.js @@ -0,0 +1,25 @@ +/* + + Copyright (C) 2013 Therp BV + License: GNU AFFERO GENERAL PUBLIC LICENSE + Version 3 or any later version + +*/ + +openerp.web_mode_visibility = function (openerp) { + openerp.web.form.Widget.include({ + init: function(view, node) { + this._super(view, node); + if (! this.invisible) { + if (this.view.form_template == "PageView") { + this.invisible = (this.node.attrs.context && + this.node.attrs.context.page_invisible); + } + else if (this.view.form_template == "FormView") { + this.invisible = (this.node.attrs.context && + this.node.attrs.context.form_invisible); + } + } + }, + }); +}