<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Odoo/addons/website_theme_install/tests/test_views.py, 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>[REF] website, *: merge website_theme_install into website</title>
<updated>2019-11-12T15:53:13+00:00</updated>
<author>
<name>qsm-odoo</name>
<email>qsm@odoo.com</email>
</author>
<published>2019-10-14T13:49:33+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=88e910e187346c095a6f0eeb8be647da1e391035'/>
<id>88e910e187346c095a6f0eeb8be647da1e391035</id>
<content type='text'>
* theme_bootswatch, theme_default, website_theme_install</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* theme_bootswatch, theme_default, website_theme_install</pre>
</div>
</content>
</entry>
<entry>
<title>[IMP] tests: log a warning when HttpCase test in at_install</title>
<updated>2019-10-30T12:35:23+00:00</updated>
<author>
<name>Christophe Monniez</name>
<email>moc@odoo.com</email>
</author>
<published>2019-10-25T11:27:35+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=8d5da6e4be05428f3243f92c0464d3c1f6a43873'/>
<id>8d5da6e4be05428f3243f92c0464d3c1f6a43873</id>
<content type='text'>
When loading a page on an existing starting database, registry is not
fully loaded causing potential error when trying to access model
existing in database (views, menitem, ...) since model added in last
loaded module does not exist in registry.

Thus, executing browser js test may lead to errors when executed during
an update on a database with other modules installed.

HTTPCase should be executed post_install to ensure that registry is
fully loaded to avoid this problem.

Since HTTPCase are slower than other test, it is also a good idea to
execute them at the end, in order to prioritize fast fail.

With this commit, a warning is isued if such a test class is tagged to
run at install time.

While at it, remove deprecated at_install and post_install helpers and
remove the deprecated phantom_js alias.

closes odoo/odoo#39462

Signed-off-by: Christophe Monniez (moc) &lt;moc@odoo.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When loading a page on an existing starting database, registry is not
fully loaded causing potential error when trying to access model
existing in database (views, menitem, ...) since model added in last
loaded module does not exist in registry.

Thus, executing browser js test may lead to errors when executed during
an update on a database with other modules installed.

HTTPCase should be executed post_install to ensure that registry is
fully loaded to avoid this problem.

Since HTTPCase are slower than other test, it is also a good idea to
execute them at the end, in order to prioritize fast fail.

With this commit, a warning is isued if such a test class is tagged to
run at install time.

While at it, remove deprecated at_install and post_install helpers and
remove the deprecated phantom_js alias.

closes odoo/odoo#39462

Signed-off-by: Christophe Monniez (moc) &lt;moc@odoo.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[MERGE] forward port branch 13.0 up to f4105eb9c70</title>
<updated>2019-10-09T00:08:17+00:00</updated>
<author>
<name>Christophe Simonis</name>
<email>chs@odoo.com</email>
</author>
<published>2019-10-09T00:08:17+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=d74b4518052066446e2a1975a91ce53c745ca75a'/>
<id>d74b4518052066446e2a1975a91ce53c745ca75a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[FIX] website_theme_install: properly attach new views to specific views</title>
<updated>2019-10-02T01:02:56+00:00</updated>
<author>
<name>fw-bot</name>
<email>otis@odoo.com</email>
</author>
<published>2019-10-01T22:46:39+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=b77d8a0974962e36c437b339b1bb6aa14b3dd4a6'/>
<id>b77d8a0974962e36c437b339b1bb6aa14b3dd4a6</id>
<content type='text'>
When a theme declares a view (a 'theme.ir.ui.view') with an inherit_id,
on installation, a view (a 'ir.ui.view') will be created with the
corresponding inherit_id. The problem is that this inherit_id may
reference a view that has been cow'ed at some point and thus the new
theme view will be attached to the non specific view by mistake.

Part of https://github.com/odoo/odoo/pull/37142

closes odoo/odoo#37750

X-original-commit: https://github.com/odoo/odoo/commit/f30b4dfdb90515bc54e691302f894184c9b1c55b
Signed-off-by: Quentin Smetz (qsm) &lt;qsm@odoo.com&gt;
Co-authored-by: Romain Derie &lt;rde@odoo.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a theme declares a view (a 'theme.ir.ui.view') with an inherit_id,
on installation, a view (a 'ir.ui.view') will be created with the
corresponding inherit_id. The problem is that this inherit_id may
reference a view that has been cow'ed at some point and thus the new
theme view will be attached to the non specific view by mistake.

Part of https://github.com/odoo/odoo/pull/37142

closes odoo/odoo#37750

X-original-commit: https://github.com/odoo/odoo/commit/f30b4dfdb90515bc54e691302f894184c9b1c55b
Signed-off-by: Quentin Smetz (qsm) &lt;qsm@odoo.com&gt;
Co-authored-by: Romain Derie &lt;rde@odoo.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[FIX] *: remove old deprecated modules/functions</title>
<updated>2019-09-17T11:36:42+00:00</updated>
<author>
<name>Julien Castiaux</name>
<email>juc@odoo.com</email>
</author>
<published>2019-09-11T09:45:31+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=4f03a5f136ab928ae74322bf1c34a1b6a6baf979'/>
<id>4f03a5f136ab928ae74322bf1c34a1b6a6baf979</id>
<content type='text'>
PEP-594 is deprecating a bunch of modules. As part of the cleanup, we
are also dealing with long deprecated modules, functions and aliases.

* `assert_` -&gt; `assertTrue`
* `assertEquals` -&gt; `assertEqual`
* `assertNotEquals` -&gt; `assertNotEqual`
* `assertAlmostEquals` -&gt; `assertAlmostEqual`
* `assertRaisesRegexp` -&gt; `assertRaisesRegex`
* `assertRegexpMatches` -&gt; `assertRegex`
* `base64.encodestring` -&gt; `base64.encodebytes`
* `base64.decodestring` -&gt; `base64.decodebytes`
* `inspect.getargspec` -&gt; `inspect.signature`
* `inspect.formatargspec` -&gt; `inspect.signature`
* `logging.warn` -&gt; `logging.warning`

closes odoo/odoo#36863

Task: 2003936
Signed-off-by: Raphael Collet (rco) &lt;rco@openerp.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
PEP-594 is deprecating a bunch of modules. As part of the cleanup, we
are also dealing with long deprecated modules, functions and aliases.

* `assert_` -&gt; `assertTrue`
* `assertEquals` -&gt; `assertEqual`
* `assertNotEquals` -&gt; `assertNotEqual`
* `assertAlmostEquals` -&gt; `assertAlmostEqual`
* `assertRaisesRegexp` -&gt; `assertRaisesRegex`
* `assertRegexpMatches` -&gt; `assertRegex`
* `base64.encodestring` -&gt; `base64.encodebytes`
* `base64.decodestring` -&gt; `base64.decodebytes`
* `inspect.getargspec` -&gt; `inspect.signature`
* `inspect.formatargspec` -&gt; `inspect.signature`
* `logging.warn` -&gt; `logging.warning`

closes odoo/odoo#36863

Task: 2003936
Signed-off-by: Raphael Collet (rco) &lt;rco@openerp.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[IMP] models: ORM speedup</title>
<updated>2019-08-20T12:43:59+00:00</updated>
<author>
<name>Raphael Collet</name>
<email>rco@odoo.com</email>
</author>
<published>2019-08-14T07:35:49+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=9920f20e4c7753bc17bea71dea3a90f7de687196'/>
<id>9920f20e4c7753bc17bea71dea3a90f7de687196</id>
<content type='text'>
This branch is the combination of several optimizations in the ORM:

* store field values once in the cache: the cache reflects more
faithfully the database, only fields that explicitly depend on the
context have an extra indirection in the cache;

* delay recomputations by default: use method `recompute` to explicitly
flush out pending recomputations;

* delay updates in method `write`: updates are stored in a data
structure that can be flushed efficiently to the database with method
`flush` (which also flush out recomputations);

* make method `modified` take advantage of inverse fields to inverse
dependencies;

* filter records by evaluating a domain on records in Python;

* a computed field with `readonly=False` behaves like a normal field
with an onchange method;

* computed fields are computed in superuser mode by default.

Work done by Toufik Ben Jaa, Raphael Collet, Denis Ledoux and Fabien
Pinckaers.

closes odoo/odoo#35659

Signed-off-by: Denis Ledoux &lt;beledouxdenis@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This branch is the combination of several optimizations in the ORM:

* store field values once in the cache: the cache reflects more
faithfully the database, only fields that explicitly depend on the
context have an extra indirection in the cache;

* delay recomputations by default: use method `recompute` to explicitly
flush out pending recomputations;

* delay updates in method `write`: updates are stored in a data
structure that can be flushed efficiently to the database with method
`flush` (which also flush out recomputations);

* make method `modified` take advantage of inverse fields to inverse
dependencies;

* filter records by evaluating a domain on records in Python;

* a computed field with `readonly=False` behaves like a normal field
with an onchange method;

* computed fields are computed in superuser mode by default.

Work done by Toufik Ben Jaa, Raphael Collet, Denis Ledoux and Fabien
Pinckaers.

closes odoo/odoo#35659

Signed-off-by: Denis Ledoux &lt;beledouxdenis@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[FIX] web_editor, website(_theme_install): avoid theme.ir.ui.view crash</title>
<updated>2018-12-19T18:23:36+00:00</updated>
<author>
<name>Romain Derie</name>
<email>rde@odoo.com</email>
</author>
<published>2018-12-07T10:38:37+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=f7df35540b8404a14e8d29af80b8e8642a4c1bdb'/>
<id>f7df35540b8404a14e8d29af80b8e8642a4c1bdb</id>
<content type='text'>
In a particular case, `_views_get` was mixing apples and oranges, ir.ui.view
and theme.ir.ui.view.

This was the case if a theme has a theme.ir.ui.view t-calling another
theme.ir.ui.view.
(Only theme's sale bridge cause this issue, eg theme_kea_sale.products)
Then, having that theme installed on a website would make all other website
without that theme to crash when opening the /shop customize menu.

Indeed, the theme.ir.ui.view would have the xml_id theme_kea_sale.search.
The generic view `website_sale.products` would have `theme_kea_sale.products`
as inherit child which is website specific and t-call `theme_kea_sale.search`.

Then, on a website witout theme_kea installed, opening the customize menu would
call `get_related_views` that would call `_views_get` that would loop through
inherit children calling `_view_obj` that would not find a view with that key
and would fallback on self.env.ref, finding the theme.ir.ui.view.

Note: `_views_get` might return specific view for another website but that will
      be filtered on `get_related_views` override in website.

Step to reproduce:
  - Have at least 2 websites and website_sale installed
  - Install theme_kea on a website, it will also install theme_kea_sale
  - Go on the website that has not theme_kea installed
  - Go to /shop
  - Open Customize menu, it won't load because of python crash

opw-1914576
Closes #29347</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In a particular case, `_views_get` was mixing apples and oranges, ir.ui.view
and theme.ir.ui.view.

This was the case if a theme has a theme.ir.ui.view t-calling another
theme.ir.ui.view.
(Only theme's sale bridge cause this issue, eg theme_kea_sale.products)
Then, having that theme installed on a website would make all other website
without that theme to crash when opening the /shop customize menu.

Indeed, the theme.ir.ui.view would have the xml_id theme_kea_sale.search.
The generic view `website_sale.products` would have `theme_kea_sale.products`
as inherit child which is website specific and t-call `theme_kea_sale.search`.

Then, on a website witout theme_kea installed, opening the customize menu would
call `get_related_views` that would call `_views_get` that would loop through
inherit children calling `_view_obj` that would not find a view with that key
and would fallback on self.env.ref, finding the theme.ir.ui.view.

Note: `_views_get` might return specific view for another website but that will
      be filtered on `get_related_views` override in website.

Step to reproduce:
  - Have at least 2 websites and website_sale installed
  - Install theme_kea on a website, it will also install theme_kea_sale
  - Go on the website that has not theme_kea installed
  - Go to /shop
  - Open Customize menu, it won't load because of python crash

opw-1914576
Closes #29347</pre>
</div>
</content>
</entry>
</feed>
