[FIX] fields: skip missing triggers for computed custom fields

This improves ddafbab3e4 by still loading the
field, but be tolerant if setting its triggers fails.
This commit is contained in:
Raphael Collet
2016-03-15 15:03:44 +01:00
parent 0ccb98ca2a
commit dd048ae730
+4 -3
View File
@@ -728,8 +728,6 @@ class BaseModel(object):
attrs['domain'] = eval(field['domain']) if field['domain'] else None
# add compute function if given
if field['compute']:
if partial and field['depends']:
continue
attrs['compute'] = make_compute(field['compute'], field['depends'])
self._add_field(name, Field.by_type[field['ttype']](**attrs))
@@ -3061,7 +3059,10 @@ class BaseModel(object):
# set up field triggers
for field in cls._fields.itervalues():
field.setup_triggers(self.env)
# dependencies of custom fields may not exist; ignore that case
exceptions = (Exception,) if field.manual else ()
with tools.ignore(*exceptions):
field.setup_triggers(self.env)
# add invalidation triggers on model dependencies
if cls._depends: