summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaphael Collet <rco@openerp.com>2016-12-08 14:24:20 +0100
committerRaphael Collet <rco@openerp.com>2016-12-09 09:40:59 +0100
commit5593d2c89bf5d02608e4e2e7e46c5cb4d7c815dd (patch)
tree398fb39b228ecf202eba69cfd2f0604ca09ddbdf
parenta3f2b8937ad24b2cc5bc22c1cccef16e54572a28 (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.py3
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