summaryrefslogtreecommitdiff
path: root/odoo/addons/test_new_api/models.py
diff options
context:
space:
mode:
authorRaphael Collet <rco@odoo.com>2019-08-19 11:51:16 +0000
committerRaphael Collet <rco@odoo.com>2019-09-03 12:02:45 +0000
commitcb2117a4876ae1077e7cd26436cb4a40cb490a0a (patch)
tree4bc5a8791b3b6d1426157f53181798c25ac7cd4d /odoo/addons/test_new_api/models.py
parent0518b23127a5997d286054129b942337bb1f089e (diff)
[FIX] models: compute-onchange
Diffstat (limited to 'odoo/addons/test_new_api/models.py')
-rw-r--r--odoo/addons/test_new_api/models.py25
1 files changed, 23 insertions, 2 deletions
diff --git a/odoo/addons/test_new_api/models.py b/odoo/addons/test_new_api/models.py
index 18bcbdb8c51..aa97b9f2281 100644
--- a/odoo/addons/test_new_api/models.py
+++ b/odoo/addons/test_new_api/models.py
@@ -373,8 +373,8 @@ class Related(models.Model):
related_related_name = fields.Char(related='related_name', string='A related on a related on Name', readonly=False)
message = fields.Many2one('test_new_api.message')
- message_name = fields.Text(related="message.body", related_sudo=False, string='Message Body', readonly=False)
- message_currency = fields.Many2one(related="message.author", string='Message Author', readonly=False)
+ 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'
@@ -495,6 +495,27 @@ class ComputeCascade(models.Model):
record.baz = "<%s>" % (record.bar or "")
+class ComputeOnchange(models.Model):
+ _name = 'test_new_api.compute.onchange'
+ _description = "Compute method as an onchange"
+
+ active = fields.Boolean()
+ foo = fields.Char()
+ bar = fields.Char(compute='_compute_bar', store=True)
+ baz = fields.Char(compute='_compute_baz', store=True, readonly=False)
+
+ @api.depends('foo')
+ def _compute_bar(self):
+ for record in self:
+ record.bar = record.foo
+
+ @api.depends('active', 'foo')
+ def _compute_baz(self):
+ for record in self:
+ if record.active:
+ record.baz = record.foo
+
+
class ModelImage(models.Model):
_name = 'test_new_api.model_image'
_description = 'Test Image field'