From e0a62b4bed7b1c883650859d87af84aff021f51b Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Wed, 11 Jul 2012 10:11:16 +0200 Subject: [PATCH] [FIX] modifiers handling in list view, add class for readonly fields bzr revid: xmo@openerp.com-20120711081116-ao854p4ebsgyelp3 --- addons/web/static/src/js/view_list.js | 23 ++++++++++++++++------- addons/web/static/src/xml/base.xml | 7 ++++--- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index aa7ffdb66d4..6a364d65f81 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -405,20 +405,27 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi if (column.modifiers) { var modifiers = JSON.parse(column.modifiers); column.modifiers_for = function (fields) { - if (!modifiers.invisible) { - return {}; + var out = {}; + + for (var attr in modifiers) { + if (!modifiers.hasOwnProperty(attr)) { continue; } + var modifier = modifiers[attr]; + out[attr] = _.isBoolean(modifier) + ? modifier + : domain_computer(modifier, fields); } - return { - 'invisible': domain_computer(modifiers.invisible, fields) - }; + + return out; }; if (modifiers['tree_invisible']) { column.invisible = '1'; } else { delete column.invisible; } + column.modifiers = modifiers; } else { column.modifiers_for = noop; + column.modifiers = {}; } return column; }; @@ -430,10 +437,12 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi if (grouped) { this.columns.unshift({ id: '_group', tag: '', string: _t("Group"), meta: true, - modifiers_for: function () { return {}; } + modifiers_for: function () { return {}; }, + modifiers: {} }, { id: '_count', tag: '', string: '#', meta: true, - modifiers_for: function () { return {}; } + modifiers_for: function () { return {}; }, + modifiers: {} }); } diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index ec5f9c6d9de..1a8c420fa18 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -641,6 +641,7 @@ + @@ -652,10 +653,10 @@ - + +