diff options
| author | Raphael Collet <rco@odoo.com> | 2019-08-19 11:51:16 +0000 |
|---|---|---|
| committer | Raphael Collet <rco@odoo.com> | 2019-09-03 12:02:45 +0000 |
| commit | cb2117a4876ae1077e7cd26436cb4a40cb490a0a (patch) | |
| tree | 4bc5a8791b3b6d1426157f53181798c25ac7cd4d /odoo/addons/test_new_api/models.py | |
| parent | 0518b23127a5997d286054129b942337bb1f089e (diff) | |
[FIX] models: compute-onchange
Diffstat (limited to 'odoo/addons/test_new_api/models.py')
| -rw-r--r-- | odoo/addons/test_new_api/models.py | 25 |
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' |
