From dd048ae73040c46efa758bfd1b4ffd521041f373 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Tue, 15 Mar 2016 14:59:18 +0100 Subject: [PATCH] [FIX] fields: skip missing triggers for computed custom fields This improves ddafbab3e44f2fc2a07d31e95a29fa380200d5d6 by still loading the field, but be tolerant if setting its triggers fails. --- openerp/models.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/openerp/models.py b/openerp/models.py index d779f487309..fa85b047c40 100644 --- a/openerp/models.py +++ b/openerp/models.py @@ -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: