<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Odoo/addons/web/static/lib/qweb/qweb-test-extend.xml, branch 14.0</title>
<subtitle>The current checkout of upstream Odoo</subtitle>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/'/>
<entry>
<title>[FIX] web: qweb old inheritance mechanism</title>
<updated>2020-07-10T11:53:23+00:00</updated>
<author>
<name>Aaron Bohy</name>
<email>aab@odoo.com</email>
</author>
<published>2020-07-10T10:09:35+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=b558cb7996b1de385f6bf7cb3918f0e37cee69fe'/>
<id>b558cb7996b1de385f6bf7cb3918f0e37cee69fe</id>
<content type='text'>
Before this commit, defining a extension of a template by using the
combination of directives 't-name' and 't-extend' ignored potential
extensions that could have been defined beforehand.

For instance, let's assume the following templates.
```xml
&lt;t t-name="a"&gt;
    &lt;div&gt;&lt;span&gt;1&lt;/span&gt;&lt;/div&gt;
&lt;/t&gt;
&lt;t t-extend="a"&gt;
    &lt;t t-jquery="span" t-operation="replace"&gt;
        &lt;span&gt;2&lt;/span&gt;
    &lt;/t&gt;
&lt;/t&gt;
&lt;t t-name="b" t-extend="a"&gt;
    &lt;t t-jquery="div" t-operation="append"&gt;
        &lt;span&gt;b&lt;/span&gt;
    &lt;/t&gt;
&lt;/t&gt;
```
Rendering template "b" displayed "1b" whereas we would expect "2b".

Moreover, when the extended template is itself an extension of
another template:
```xml
&lt;t t-name="a"&gt;
    &lt;div&gt;&lt;span&gt;a&lt;/span&gt;&lt;/div&gt;
&lt;/t&gt;
&lt;t t-name="b" t-extend="a"&gt;
    &lt;t t-jquery="div" t-operation="append"&gt;
        &lt;span&gt;b&lt;/span&gt;
    &lt;/t&gt;
&lt;/t&gt;
&lt;t t-name="c" t-extend="b"&gt;
    &lt;t t-jquery="div" t-operation="append"&gt;
        &lt;span&gt;c&lt;/span&gt;
    &lt;/t&gt;
&lt;/t&gt;
```
Rendering template "a" displayed "a", template "b" displayed "ab",
but template "c" displayed "ac", whereas we would expect "abc".

With this commit, other extensions done to a template are kept when
a new extension is defined. It relies on the templates order, and
takes into account all extensions that have *already* been defined.
This is exactly how the new qweb inheritance mechanism (using
't-inherit' and 't-inherit-mode') behaves.

closes odoo/odoo#54315

Signed-off-by: Lucas Perais (lpe) &lt;lpe@odoo.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before this commit, defining a extension of a template by using the
combination of directives 't-name' and 't-extend' ignored potential
extensions that could have been defined beforehand.

For instance, let's assume the following templates.
```xml
&lt;t t-name="a"&gt;
    &lt;div&gt;&lt;span&gt;1&lt;/span&gt;&lt;/div&gt;
&lt;/t&gt;
&lt;t t-extend="a"&gt;
    &lt;t t-jquery="span" t-operation="replace"&gt;
        &lt;span&gt;2&lt;/span&gt;
    &lt;/t&gt;
&lt;/t&gt;
&lt;t t-name="b" t-extend="a"&gt;
    &lt;t t-jquery="div" t-operation="append"&gt;
        &lt;span&gt;b&lt;/span&gt;
    &lt;/t&gt;
&lt;/t&gt;
```
Rendering template "b" displayed "1b" whereas we would expect "2b".

Moreover, when the extended template is itself an extension of
another template:
```xml
&lt;t t-name="a"&gt;
    &lt;div&gt;&lt;span&gt;a&lt;/span&gt;&lt;/div&gt;
&lt;/t&gt;
&lt;t t-name="b" t-extend="a"&gt;
    &lt;t t-jquery="div" t-operation="append"&gt;
        &lt;span&gt;b&lt;/span&gt;
    &lt;/t&gt;
&lt;/t&gt;
&lt;t t-name="c" t-extend="b"&gt;
    &lt;t t-jquery="div" t-operation="append"&gt;
        &lt;span&gt;c&lt;/span&gt;
    &lt;/t&gt;
&lt;/t&gt;
```
Rendering template "a" displayed "a", template "b" displayed "ab",
but template "c" displayed "ac", whereas we would expect "abc".

With this commit, other extensions done to a template are kept when
a new extension is defined. It relies on the templates order, and
takes into account all extensions that have *already* been defined.
This is exactly how the new qweb inheritance mechanism (using
't-inherit' and 't-inherit-mode') behaves.

closes odoo/odoo#54315

Signed-off-by: Lucas Perais (lpe) &lt;lpe@odoo.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[FIX] web: support full attribute syntax</title>
<updated>2019-01-30T15:23:50+00:00</updated>
<author>
<name>Martin Trigaux</name>
<email>mat@odoo.com</email>
</author>
<published>2019-01-30T10:11:13+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=2087fb5aa9f466be98b017bd9a94b2441f1c2024'/>
<id>2087fb5aa9f466be98b017bd9a94b2441f1c2024</id>
<content type='text'>
Only the syntax
&lt;t t-operation="attributes"&gt;
    &lt;attribute name="foo"&gt;bar&lt;/attribute&gt;
&lt;/t&gt;

was currently supported for attributes while the syntax

&lt;t t-operation="attributes"&gt;
    &lt;attribute name="foo" value="bar" /&gt;
&lt;/t&gt;

Is also correct and supported server side.

Using value instead of the node content is needed to avoid translating the node
while it is parsed by babel to extract translatable content</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Only the syntax
&lt;t t-operation="attributes"&gt;
    &lt;attribute name="foo"&gt;bar&lt;/attribute&gt;
&lt;/t&gt;

was currently supported for attributes while the syntax

&lt;t t-operation="attributes"&gt;
    &lt;attribute name="foo" value="bar" /&gt;
&lt;/t&gt;

Is also correct and supported server side.

Using value instead of the node content is needed to avoid translating the node
while it is parsed by babel to extract translatable content</pre>
</div>
</content>
</entry>
<entry>
<title>[IMP] qweb doc, tests</title>
<updated>2014-10-06T17:13:43+00:00</updated>
<author>
<name>Xavier Morel</name>
<email>xmo@openerp.com</email>
</author>
<published>2014-09-09T07:17:32+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=494dcbd0e3ee4370e3c4a5ac6635acf86f0d7481'/>
<id>494dcbd0e3ee4370e3c4a5ac6635acf86f0d7481</id>
<content type='text'>
* document qweb based (mostly) on JS version
* convert JS qweb tests to (mostly) language-independent XML so they can be
  used for JS and Python implementations
* add some more tests (e.g. precedence between t-value and body in t-set)
* remove ``t-import``
* fix parity in foreach(dict) (and rename some variables to make array and
  object versions more similar)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* document qweb based (mostly) on JS version
* convert JS qweb tests to (mostly) language-independent XML so they can be
  used for JS and Python implementations
* add some more tests (e.g. precedence between t-value and body in t-set)
* remove ``t-import``
* fix parity in foreach(dict) (and rename some variables to make array and
  object versions more similar)
</pre>
</div>
</content>
</entry>
<entry>
<title>[IMP] LOWERCASE ALL THE THINGS</title>
<updated>2012-01-18T11:01:18+00:00</updated>
<author>
<name>Xavier Morel</name>
<email>xmo@openerp.com</email>
</author>
<published>2012-01-18T11:01:18+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=d5a0079d09e2660289a1422d110763d9e1046625'/>
<id>d5a0079d09e2660289a1422d110763d9e1046625</id>
<content type='text'>
MSIE serializes nodes to UPPERCASE EVERYTHING (unless the known are generic/unknown), which breaks tests as JS doesn't really have case-insensitive comparisons

bzr revid: xmo@openerp.com-20120118110118-pfiy1n2g4yhfjtso</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
MSIE serializes nodes to UPPERCASE EVERYTHING (unless the known are generic/unknown), which breaks tests as JS doesn't really have case-insensitive comparisons

bzr revid: xmo@openerp.com-20120118110118-pfiy1n2g4yhfjtso</pre>
</div>
</content>
</entry>
<entry>
<title>rename base into web part1</title>
<updated>2011-09-05T11:03:09+00:00</updated>
<author>
<name>Antony Lesuisse</name>
<email>al@openerp.com</email>
</author>
<published>2011-09-05T11:03:09+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=bedfc48dcfb066e61209337235e339975dd093d0'/>
<id>bedfc48dcfb066e61209337235e339975dd093d0</id>
<content type='text'>
bzr revid: al@openerp.com-20110905110309-egx167t1ni1fzho1</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
bzr revid: al@openerp.com-20110905110309-egx167t1ni1fzho1</pre>
</div>
</content>
</entry>
</feed>
