[FIX] qweb: allow string interpolation in t-call

This commit allows the t-call directive to choose a dynamic template.
This is working in QWeb Python, but was not possible in Owl.

closes #709
This commit is contained in:
Géry Debongnie
2020-10-19 12:30:58 +02:00
committed by aab-odoo
parent a28ce440dc
commit 3fbc02986c
4 changed files with 101 additions and 10 deletions
+10
View File
@@ -1095,6 +1095,16 @@ describe("t-call (template calling", () => {
const expected = "<div><p>yip yip</p></div>";
expect(renderToString(qweb, "main")).toBe(expected);
});
test("dynamic t-call", () => {
qweb.addTemplate("foo", `<foo><t t-esc="val"/></foo>`);
qweb.addTemplate("bar", `<bar><t t-esc="val"/></bar>`);
qweb.addTemplate("main", `<div><t t-call="{{template}}"/></div>`);
const expected = "<div><foo>foo</foo></div>";
expect(renderToString(qweb, "main", { template: "foo", val: "foo" })).toBe(expected);
const expected2 = "<div><bar>quux</bar></div>";
expect(renderToString(qweb, "main", { template: "bar", val: "quux" })).toBe(expected2);
});
});
describe("foreach", () => {