summaryrefslogtreecommitdiff
path: root/odoo/addons/test_new_api/tests/test_new_fields.py
diff options
context:
space:
mode:
authorRaphael Collet <rco@odoo.com>2019-10-15 13:26:22 +0000
committerfw-bot <otis@odoo.com>2019-10-22 14:55:51 +0000
commitc8dca514e619741c9235fa5ad3e53693f65079e5 (patch)
treed5e1e683494c59a6189158daaccff0709ffa116e /odoo/addons/test_new_api/tests/test_new_fields.py
parent5efd768b3da3ce38338ae6a33cd1c9c87efc7424 (diff)
[FIX] fields: `compute_sudo` defaults to True for stored fields only
The default `compute_sudo=True` makes sense for recomputing stored fields that are indirectly related to a business operation. This ensures that the recomputation of the field does not break an operation that is not aware of the fields to recompute. However, computing non-stored fields in superuser mode is usually not necessary. It even leads to unexpected values: counting a partner's sales orders does not give the same result in superuser mode as in normal mode. That is why non-stored fields are not computed in superuser mode by default. [FIX] account, delivery, event, hr_recruitment, point_of_sale, stock: adapt the model definition to make all fields with the same compute method have the same value for `compute_sudo`. [FIX] sale: split the computation of `invoice_ids`, `invoice_count` (non-stored) and `invoice_status` (stored), as no code is actually shared. closes odoo/odoo#39195 X-original-commit: 843fd38a97f02b49dc09d7f55919072d272fd80e Signed-off-by: Olivier Dony (odo) <odo@openerp.com>
Diffstat (limited to 'odoo/addons/test_new_api/tests/test_new_fields.py')
-rw-r--r--odoo/addons/test_new_api/tests/test_new_fields.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/odoo/addons/test_new_api/tests/test_new_fields.py b/odoo/addons/test_new_api/tests/test_new_fields.py
index a7784cd97d1..f7a555f6e2a 100644
--- a/odoo/addons/test_new_api/tests/test_new_fields.py
+++ b/odoo/addons/test_new_api/tests/test_new_fields.py
@@ -100,10 +100,12 @@ class TestFields(common.TransactionCase):
# by default function fields are not stored and readonly
field = self.env['test_new_api.message']._fields['size']
self.assertFalse(field.store)
+ self.assertFalse(field.compute_sudo)
self.assertTrue(field.readonly)
field = self.env['test_new_api.message']._fields['name']
self.assertTrue(field.store)
+ self.assertTrue(field.compute_sudo)
self.assertTrue(field.readonly)
def test_10_computed_custom(self):