summaryrefslogtreecommitdiff
path: root/addons/website_theme_install/tests
AgeCommit message (Collapse)Author
2019-03-07[FIX] website: fix install theme errorRomain Derie
Commit 5a81d8883 fixed the COW view deletion on module update but introduced an error when installing a theme. Indeed, when installing a theme, the first step is to remove the currently installed theme from the website (by unlinking its ir.ui.view). Commit 5a81d8883 introduced the fact that deleting an ir.ui.view during a module uninstall also search and delete the COW views, calling `_get_specific_views` (that expects a singleton). When installing a theme, it calls `_theme_cleanup` which search COW views and unlink them. If not cow view, unlink is called with an empty record set raising the singleton error. closes odoo/odoo#31662 Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2018-12-19[FIX] web_editor, website(_theme_install): avoid theme.ir.ui.view crashRomain Derie
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