summaryrefslogtreecommitdiff
path: root/odoo/addons/test_new_api/models/test_new_api.py
diff options
context:
space:
mode:
authorRaphael Collet <rco@odoo.com>2020-07-02 08:56:08 +0000
committerRaphael Collet <rco@odoo.com>2020-07-08 11:58:33 +0000
commitdd8a6b8a8299afaac699d04f2ed886ff85c685fe (patch)
tree6352a86a099bdcf8e0252364c0f0a670018feb9f /odoo/addons/test_new_api/models/test_new_api.py
parent04250d80163bb785b674b85fe24354c9d999efea (diff)
[ADD] test_new_api: tests on queries made by create with computed fields
closes odoo/odoo#54209 Related: odoo/upgrade#1464 Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
Diffstat (limited to 'odoo/addons/test_new_api/models/test_new_api.py')
-rw-r--r--odoo/addons/test_new_api/models/test_new_api.py23
1 files changed, 19 insertions, 4 deletions
diff --git a/odoo/addons/test_new_api/models/test_new_api.py b/odoo/addons/test_new_api/models/test_new_api.py
index ad0085f82b3..0ceb37a0988 100644
--- a/odoo/addons/test_new_api/models/test_new_api.py
+++ b/odoo/addons/test_new_api/models/test_new_api.py
@@ -379,9 +379,10 @@ class Related(models.Model):
message_name = fields.Text(related="message.body", related_sudo=False, string='Message Body')
message_currency = fields.Many2one(related="message.author", string='Message Author')
-class ComputeProtected(models.Model):
- _name = 'test_new_api.compute.protected'
- _description = 'Test New API Compute Protected'
+
+class ComputeReadonly(models.Model):
+ _name = 'test_new_api.compute.readonly'
+ _description = 'Model with a computed readonly field'
foo = fields.Char(default='')
bar = fields.Char(compute='_compute_bar', store=True)
@@ -391,9 +392,10 @@ class ComputeProtected(models.Model):
for record in self:
record.bar = record.foo
+
class ComputeInverse(models.Model):
_name = 'test_new_api.compute.inverse'
- _description = 'Test New API Compute Inversse'
+ _description = 'Model with a computed inversed field'
foo = fields.Char()
bar = fields.Char(compute='_compute_bar', inverse='_inverse_bar', store=True)
@@ -520,6 +522,19 @@ class ComputeCascade(models.Model):
record.baz = "<%s>" % (record.bar or "")
+class ComputeReadWrite(models.Model):
+ _name = 'test_new_api.compute.readwrite'
+ _description = 'Model with a computed non-readonly field'
+
+ foo = fields.Char()
+ bar = fields.Char(compute='_compute_bar', store=True, readonly=False)
+
+ @api.depends('foo')
+ def _compute_bar(self):
+ for record in self:
+ record.bar = record.foo
+
+
class ComputeOnchange(models.Model):
_name = 'test_new_api.compute.onchange'
_description = "Compute method as an onchange"