Browse Source

[FIX] agreement: dynamic field computation

pull/293/head
Maxime Chambreuil 6 years ago
parent
commit
2d450ad437
  1. 21
      agreement/models/agreement.py
  2. 21
      agreement/models/agreement_appendix.py
  3. 21
      agreement/models/agreement_clause.py
  4. 21
      agreement/models/agreement_recital.py
  5. 20
      agreement/models/agreement_section.py

21
agreement/models/agreement.py

@ -334,20 +334,21 @@ class Agreement(models.Model):
for record in self:
record.total_company_mrc = amount_total
@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 '\'\'')

21
agreement/models/agreement_appendix.py

@ -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 '\'\'')

21
agreement/models/agreement_clause.py

@ -58,20 +58,21 @@ class AgreementClause(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 '\'\'')

21
agreement/models/agreement_recital.py

@ -50,20 +50,21 @@ class AgreementRecital(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 '\'\'')

20
agreement/models/agreement_section.py

@ -49,22 +49,20 @@ class AgreementSection(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]
else:
self.sub_object_id = False
@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.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,

Loading…
Cancel
Save