From 6ab80e92e7804bcc02f43764de59e756f17fe4de Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 8 Aug 2011 13:52:07 +0200 Subject: [PATCH] [FIX] res.users: correctly json-encode modifiers in generated fields_view_get bzr revid: xmo@openerp.com-20110808115207-y2a0p9c0z4uk7bo5 --- openerp/addons/base/res/res_user.py | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/openerp/addons/base/res/res_user.py b/openerp/addons/base/res/res_user.py index 306ab6fa627..989226c19b5 100644 --- a/openerp/addons/base/res/res_user.py +++ b/openerp/addons/base/res/res_user.py @@ -20,17 +20,21 @@ # ############################################################################## +import logging +from functools import partial +from xml.sax.saxutils import quoteattr + +import simplejson +import pytz +from lxml import etree + +import netsvc +import pooler +import tools from osv import fields,osv from osv.orm import browse_record -import tools -from functools import partial -import pytz -import pooler -from tools.translate import _ from service import security -import netsvc -import logging -from lxml import etree +from tools.translate import _ class groups(osv.osv): _name = "res.groups" @@ -760,13 +764,15 @@ class users_view(osv.osv): if tips: fields[app_name].update(help='\n'.join(tips)) fields[sel_name] = {'type': 'selection', 'string': 'Group', 'selection': selection} + attrs = {'invisible': [('%s' % app_name, '=', False)]} elems.append(""" + attrs=%(attrs)s modifiers=%(json_attrs)s/> - """ % {'app': app_name, 'sel': sel_name}) + """ % {'app': app_name, 'sel': sel_name, + 'attrs': quoteattr(str(attrs)), + 'json_attrs': quoteattr(simplejson.dumps(attrs))}) # create other sections for sec, groups in others: elems.append('' % sec)