Make field readonly when it is an AND-domain

review1135003
This commit is contained in:
Nicolas Évrard committed 2013-10-18 15:57:52 +02:00
1 parent e7d82e9cc4
commit d1c0ecbbfd
1 file changed
+5 -3
+5 -3
View File
@@ -107,18 +107,20 @@ class CharField(object):
# XXX to remove once server domains are fixed
value = None
setdefault = True
original_domain = merge(record.group.domain)
domain_readonly = original_domain[0] == 'AND'
if '.' in leftpart:
recordpart, localpart = leftpart.split('.', 1)
original_domain = merge(record.group.domain)
constraintfields = set()
if original_domain[0] == 'AND':
if domain_readonly:
for leaf in localize_domain(original_domain[1:]):
constraintfields.add(leaf[0])
if localpart != 'id' or recordpart not in constraintfields:
setdefault = False
if setdefault:
self.set_client(record, value)
self.get_state_attrs(record)['domain_readonly'] = True
self.get_state_attrs(record)['domain_readonly'] = (
domain_readonly)
res = res and eval_domain(domain, EvalEnvironment(record))
self.get_state_attrs(record)['valid'] = res
return res