diff --git a/addons/mail/models/mail_render_mixin.py b/addons/mail/models/mail_render_mixin.py
index c12f5cf785f..9e8d2cff87d 100644
--- a/addons/mail/models/mail_render_mixin.py
+++ b/addons/mail/models/mail_render_mixin.py
@@ -53,25 +53,6 @@ class MailRenderMixin(models.AbstractModel):
"that provides the appropriate language, e.g. {{ object.partner_id.lang }}.")
# rendering context
render_model = fields.Char("Rendering Model", compute='_compute_render_model', store=False)
- # expression builder
- model_object_field = fields.Many2one(
- 'ir.model.fields', string="Field", store=False,
- help="Select target field from the related document model.\n"
- "If it is a relationship field you will be able to select "
- "a target field at the destination of the relationship.")
- sub_object = fields.Many2one(
- 'ir.model', 'Sub-model', readonly=True, store=False,
- help="When a relationship field is selected as first field, "
- "this field shows the document model the relationship goes to.")
- sub_model_object_field = fields.Many2one(
- 'ir.model.fields', 'Sub-field', store=False,
- help="When a relationship field is selected as first field, "
- "this field lets you select the target field within the "
- "destination document model (sub-model).")
- null_value = fields.Char('Default Value', store=False, help="Optional value to use if the target field is empty")
- copyvalue = fields.Char(
- 'Placeholder Expression', store=False,
- help="Final placeholder expression, to be copy-pasted in the desired template field.")
def _compute_render_model(self):
""" Give the target model for rendering. Void by default as models
@@ -79,27 +60,6 @@ class MailRenderMixin(models.AbstractModel):
model. """
self.render_model = False
- @api.onchange('model_object_field', 'sub_model_object_field', 'null_value')
- def _onchange_dynamic_placeholder(self):
- """ Generate the dynamic placeholder """
- if self.model_object_field:
- if self.model_object_field.ttype in ['many2one', 'one2many', 'many2many']:
- model = self.env['ir.model']._get(self.model_object_field.relation)
- if model:
- self.sub_object = model.id
- sub_field_name = self.sub_model_object_field.name
- self.copyvalue = self._build_expression(self.model_object_field.name,
- sub_field_name, self.null_value or False)
- else:
- self.sub_object = False
- self.sub_model_object_field = False
- self.copyvalue = self._build_expression(self.model_object_field.name, False, self.null_value or False)
- else:
- self.sub_object = False
- self.copyvalue = False
- self.sub_model_object_field = False
- self.null_value = False
-
@api.model
def _build_expression(self, field_name, sub_field_name, null_value):
"""Returns a placeholder expression for use in a template field,
diff --git a/addons/mail/views/mail_template_views.xml b/addons/mail/views/mail_template_views.xml
index 1817cf35c69..ee814dba4d2 100644
--- a/addons/mail/views/mail_template_views.xml
+++ b/addons/mail/views/mail_template_views.xml
@@ -81,18 +81,6 @@
-
-
-
-
-
-
-
-
-
diff --git a/addons/mass_mailing/views/mailing_mailing_views.xml b/addons/mass_mailing/views/mailing_mailing_views.xml
index 612eca0a4fa..c259ebe3e93 100644
--- a/addons/mass_mailing/views/mailing_mailing_views.xml
+++ b/addons/mass_mailing/views/mailing_mailing_views.xml
@@ -256,21 +256,6 @@
-
-
-
-
-
-
-
-
-
-
@@ -479,12 +464,6 @@
-
-
-
-
-
-
diff --git a/addons/sms/views/sms_template_views.xml b/addons/sms/views/sms_template_views.xml
index e18d17645d7..8f2a20e5081 100644
--- a/addons/sms/views/sms_template_views.xml
+++ b/addons/sms/views/sms_template_views.xml
@@ -52,18 +52,6 @@
-
-
-
-
-
-
-
-
-