From 3477398a60b08aafa311f5877f556d23cd35d3a2 Mon Sep 17 00:00:00 2001 From: "Jay (Open ERP)" Date: Thu, 31 Dec 2009 13:15:11 +0530 Subject: [PATCH] [FIX] Record Rules : domain_force made working lp bug: https://launchpad.net/bugs/500571 fixed bzr revid: jvo@tinyerp.com-20091231074511-tv6abhnbb9je2uka --- bin/addons/base/ir/ir_rule.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/addons/base/ir/ir_rule.py b/bin/addons/base/ir/ir_rule.py index d8235403ce3..7e5a2d05155 100644 --- a/bin/addons/base/ir/ir_rule.py +++ b/bin/addons/base/ir/ir_rule.py @@ -107,14 +107,14 @@ class ir_rule(osv.osv): for rule in self.browse(cr, uid, ids, context): eval_user_data = {'user': self.pool.get('res.users').browse(cr, 1, uid), 'time':time} - if rule.operand.startswith('user.') and rule.operand.count('.') > 1: - #Need to check user.field.field1.field2(if field is False,it will break the chain) - op = rule.operand[5:] - rule.operand = rule.operand[:5+len(op[:op.find('.')])] +' and '+ rule.operand + ' or False' if rule.domain_force: res[rule.id] = eval(rule.domain_force, eval_user_data) else: + if rule.operand and rule.operand.startswith('user.') and rule.operand.count('.') > 1: + #Need to check user.field.field1.field2(if field is False,it will break the chain) + op = rule.operand[5:] + rule.operand = rule.operand[:5+len(op[:op.find('.')])] +' and '+ rule.operand + ' or False' if rule.operator in ('in', 'child_of'): dom = eval("[('%s', '%s', [%s])]" % (rule.field_id.name, rule.operator, eval(rule.operand,eval_user_data)), eval_user_data)