diff options
| author | Raphael Collet <rco@odoo.com> | 2019-10-15 13:26:22 +0000 |
|---|---|---|
| committer | fw-bot <otis@odoo.com> | 2019-10-22 14:55:51 +0000 |
| commit | c8dca514e619741c9235fa5ad3e53693f65079e5 (patch) | |
| tree | d5e1e683494c59a6189158daaccff0709ffa116e /odoo/addons/test_new_api/tests/test_new_fields.py | |
| parent | 5efd768b3da3ce38338ae6a33cd1c9c87efc7424 (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.py | 2 |
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): |
