diff options
| author | Raphael Collet <rco@openerp.com> | 2016-12-08 14:24:20 +0100 |
|---|---|---|
| committer | Raphael Collet <rco@openerp.com> | 2016-12-09 09:40:59 +0100 |
| commit | 5593d2c89bf5d02608e4e2e7e46c5cb4d7c815dd (patch) | |
| tree | 398fb39b228ecf202eba69cfd2f0604ca09ddbdf | |
| parent | a3f2b8937ad24b2cc5bc22c1cccef16e54572a28 (diff) | |
[FIX] fields: detect recursively computed fields when computed together
When several fields are computed together, if one of them depends on another,
all the given fields must be considered recursive.
| -rw-r--r-- | openerp/fields.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/openerp/fields.py b/openerp/fields.py index 60f5d7fa69a..9440e62d24b 100644 --- a/openerp/fields.py +++ b/openerp/fields.py @@ -629,6 +629,7 @@ class Field(object): # def _add_trigger(self, env, path_str, field=None): + fields = env[self.model_name]._field_computed.get(self) or [self] path = path_str.split('.') # traverse path and add triggers on fields along the way for i, name in enumerate(path): @@ -636,7 +637,7 @@ class Field(object): field = model._fields[name] # env[self.model_name] --- path[:i] --> model with field - if field is self: + if field in fields: self.recursive = True continue |
