[FIX] Record Rules : domain_force made working

lp bug: https://launchpad.net/bugs/500571 fixed

bzr revid: jvo@tinyerp.com-20091231074511-tv6abhnbb9je2uka
This commit is contained in:
Jay (Open ERP)
2009-12-31 13:15:11 +05:30
parent 131355606c
commit 3477398a60
+4 -4
View File
@@ -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)