From ce029f887e04f5fd79dbecec93f4258df2b63c8c Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Wed, 1 Jun 2011 15:55:26 +0200 Subject: [PATCH] [FIX] ir.rule: must eval the rule domain as user, but browse the rule's groups as admin bzr revid: odo@openerp.com-20110601135526-gk7zfiylnhlpvlod --- openerp/addons/base/ir/ir_rule.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/openerp/addons/base/ir/ir_rule.py b/openerp/addons/base/ir/ir_rule.py index d9da5ac6924..2a36ee9ccc5 100644 --- a/openerp/addons/base/ir/ir_rule.py +++ b/openerp/addons/base/ir/ir_rule.py @@ -121,7 +121,9 @@ class ir_rule(osv.osv): global_domains = [] # list of domains group_domains = {} # map: group -> list of domains for rule in self.browse(cr, SUPERUSER_UID, rule_ids): - dom = expression.normalize(rule.domain) + # read 'domain' as UID to have the correct eval context for the rule. + rule_domain = self.read(cr, uid, rule.id, ['domain'])['domain'] + dom = expression.normalize(rule_domain) for group in rule.groups: if group in user.groups_id: group_domains.setdefault(group, []).append(dom)