summaryrefslogtreecommitdiff
path: root/odoo/fields.py
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2016-12-11 10:24:29 +0100
committerChristophe Simonis <chs@odoo.com>2016-12-11 10:24:29 +0100
commit8094970df1b4f184117c7a3bd4eeddc648c83b08 (patch)
tree7adc4f4e99683b555be97ec91545f1696f163f3f /odoo/fields.py
parentf5adc1ade0401c30d1b053730b60e2aeb18c8327 (diff)
[FIX] fields: also protect computation of draft record fields
Diffstat (limited to 'odoo/fields.py')
-rw-r--r--odoo/fields.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/odoo/fields.py b/odoo/fields.py
index 72e82249d54..427b6c6aa02 100644
--- a/odoo/fields.py
+++ b/odoo/fields.py
@@ -986,7 +986,9 @@ class Field(object):
def determine_draft_value(self, record):
""" Determine the value of ``self`` for the given draft ``record``. """
if self.compute:
- self._compute_value(record)
+ fields = record._field_computed[self]
+ with record.env.protecting(fields, record):
+ self._compute_value(record)
else:
null = self.convert_to_cache(False, record, validate=False)
record._cache[self] = SpecialValue(null)