Skip to content
Snippets Groups Projects
Commit 12f80aca0e9e authored by Axel Prel's avatar Axel Prel
Browse files

add expression builder to mail template substitutions

parent c27fcb55ca46
No related branches found
No related tags found
1 merge request!67Implement caching and optimization for Redner template handling
......@@ -119,3 +119,40 @@
d[sub.keyword.rsplit(".", 2)[-1]] = conv
return converter.Model("", d)
def action_build_expression(self):
if not (self and self.ir_actions_report_id):
if not self.template_id:
# neither a report nor a mail template
return
else:
model = self.env.get(self.template_id.model_id.model)
else:
model = self.env.get(self.ir_actions_report_id.model)
if model is None:
return
# reset the older substitution value
self.value = ""
wizard = self.env["expression.builder.wizard"].create(
{
"substitution_id": self.id,
"expression": "",
}
)
vals_list = wizard.get_fields(model, self.converter)
for val in vals_list:
val["wizard_id"] = wizard.id
fields_list = self.env["expression.builder.field"].create(vals_list)
wizard.suggested_fields = [(6, 0, fields_list.ids)]
return {
"type": "ir.actions.act_window",
"res_model": "expression.builder.wizard",
"view_mode": "form",
"res_id": wizard.id,
"target": "new",
}
......@@ -40,6 +40,28 @@
<field name="keyword" />
<field name="converter" />
<field name="value" />
<button
name="action_build_expression"
type="object"
string="Build expression"
class="oe_highlight"
invisible="not (value and value!='') or not (converter and converter in ['field','relation-to-many'])"
confirm="This will delete the current substitution value. Continue anyway ?"
/>
<button
name="action_build_expression"
type="object"
string="Build expression"
class="oe_highlight"
invisible="(value and value !='') or not (converter and converter in ['field','relation-to-many'])"
/>
<button
name="action_build_expression"
type="object"
string="Build expression"
class="oe_highlight disabled"
invisible="converter in ['field','relation-to-many']"
/>
</list>
</field>
</group>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment