From 70ed5cdf59a0074895a23d0456e81511bcaf657c Mon Sep 17 00:00:00 2001 From: Stefan Rijnhart Date: Tue, 7 May 2013 14:18:51 +0200 Subject: [PATCH] [IMP] Use the options JSON dictionary to encode visibility options --- web_mode_visibility/__openerp__.py | 4 ++-- .../static/src/js/web_mode_visibility.js | 11 ++++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/web_mode_visibility/__openerp__.py b/web_mode_visibility/__openerp__.py index 79068adb..b1eb3ab2 100644 --- a/web_mode_visibility/__openerp__.py +++ b/web_mode_visibility/__openerp__.py @@ -26,8 +26,8 @@ "category": "Tools", "depends": ['web'], "description": """ -Use the following context keys on fields to hide them in either page or form -mode: +Use the following boolean switches in the options dictionary on fields to hide +them in either page or form mode: - page_invisible - form_invisible diff --git a/web_mode_visibility/static/src/js/web_mode_visibility.js b/web_mode_visibility/static/src/js/web_mode_visibility.js index 4364cdf6..3d023837 100644 --- a/web_mode_visibility/static/src/js/web_mode_visibility.js +++ b/web_mode_visibility/static/src/js/web_mode_visibility.js @@ -7,19 +7,20 @@ */ openerp.web_mode_visibility = function (openerp) { - openerp.web.form.Widget.include({ + openerp.web.form.Field.include({ + init: function(view, node) { this._super(view, node); if (! this.invisible) { + var options = this.get_definition_options(); if (this.view.form_template == "PageView") { - this.invisible = (this.node.attrs.context && - this.node.attrs.context.page_invisible); + this.invisible = options.page_invisible; } else if (this.view.form_template == "FormView") { - this.invisible = (this.node.attrs.context && - this.node.attrs.context.form_invisible); + this.invisible = options.form_invisible; } } }, + }); }