[FIX] agreement: dynamic field computation

This commit is contained in:
Maxime Chambreuil
2019-03-27 16:21:06 -06:00
parent 499ab4bcb7
commit 2d450ad437
5 changed files with 53 additions and 51 deletions

View File

@@ -49,20 +49,21 @@ class AgreementAppendix(models.Model):
help="""Final placeholder expression, to be copy-pasted in the desired
template field.""")
@api.onchange('field_id')
def onchange_sub_object_id(self):
if self.field_id and self.field_id.relation:
self.sub_object_id = self.env['ir.model'].search(
[('model', '=', self.field_id.relation)])[0]
@api.onchange('sub_model_object_field_id', 'default_value')
@api.onchange('field_id', 'sub_model_object_field_id', 'default_value')
def onchange_copyvalue(self):
if self.field_id or self.default_value:
self.sub_object_id = False
self.copyvalue = False
self.sub_object_id = False
if self.field_id and not self.field_id.relation:
self.copyvalue = "${object.%s or %s}" % \
(self.field_id.name,
self.default_value or '\'\'')
if self.sub_model_object_field_id or self.default_value:
self.copyvalue = "${object.%s.%s or %s}" % \
self.sub_model_object_field_id = False
if self.field_id and self.field_id.relation:
self.sub_object_id = self.env['ir.model'].search(
[('model', '=', self.field_id.relation)])[0]
if self.sub_model_object_field_id:
self.copyvalue = "${object.%s.%s or %s}" %\
(self.field_id.name,
self.sub_model_object_field_id.name,
self.default_value or '\'\'')