diff options
| author | Romain Derie <rde@odoo.com> | 2018-09-26 16:05:51 +0200 |
|---|---|---|
| committer | Jeremy Kersten <jke@odoo.com> | 2018-09-29 17:56:21 +0200 |
| commit | 850e1675eb2550a86729199c1642b4bb381aede3 (patch) | |
| tree | c31d8009dc05070f9d7b0f753d3e11b361c304b1 /addons/website/data | |
| parent | 73f0cc21ceff5e86528b05fe2efb80f48c5e43dd (diff) | |
[FIX] website: store default menu tree (apps menu) for new website
Previously, for multi-websites it was decided that:
- creating a new website would not get already existing apps menu (shop,
blog, forum..).
- installing a new app would create the app's menu on existing website
This was decided mostly for technical reason but it is a weird behavior.
This commit saves the installed apps menus in order to copy them on new website
If this default menu got deleted, we ensure a minimalist tree menu for new
website
Note: This also fixes the bug where installing a website_module more than once
(with -i website_module in command line) would create the menu (blog, shop,
forum..) on the first website a second time.
This was because the website.menu.create() overrided in website would
return the last created record in the self loop, thus the last one created
would be the one set to the xml_id (ir.model.data).
This commit closes #27253
Diffstat (limited to 'addons/website/data')
| -rw-r--r-- | addons/website/data/website_data.xml | 52 | ||||
| -rw-r--r-- | addons/website/data/website_demo.xml | 9 |
2 files changed, 24 insertions, 37 deletions
diff --git a/addons/website/data/website_data.xml b/addons/website/data/website_data.xml index 56097594be7..28c0a0f8e85 100644 --- a/addons/website/data/website_data.xml +++ b/addons/website/data/website_data.xml @@ -1,17 +1,22 @@ <?xml version="1.0" encoding="utf-8"?> <odoo> <data noupdate="1"> - <record id="default_website" model="website"> - <field name="name">My Website</field> - <field name="domain"></field> - <field name="company_id" ref="base.main_company"/> - <field name="user_id" ref="base.public_user"/> - <field name="favicon" type="base64" file="web/static/src/img/favicon.ico"/> - </record> - + <!-- Default Menu to store module menus for new website --> <record id="main_menu" model="website.menu"> - <field name="name">Top Menu</field> - <field name="website_id" ref="default_website"/> + <field name="name">Default Main Menu</field> + <field name="url">/default-main-menu</field> + </record> + <record id="menu_home" model="website.menu"> + <field name="name">Home</field> + <field name="url">/</field> + <field name="parent_id" ref="website.main_menu"/> + <field name="sequence" type="int">10</field> + </record> + <record id="menu_contactus" model="website.menu"> + <field name="name">Contact us</field> + <field name="url">/contactus</field> + <field name="parent_id" ref="website.main_menu"/> + <field name="sequence" type="int">60</field> </record> <!-- split between ir_ui_view & website_page record to keep external_id on ir_ui_view --> @@ -35,16 +40,6 @@ <field name="url">/</field> <field name="view_id" ref="homepage"/> </record> - <record id="default_website" model="website"> - <field name="homepage_id" ref="homepage_page"/> - </record> - <record id="menu_homepage" model="website.menu"> - <field name="name">Home</field> - <field name="url">/</field> - <field name="parent_id" ref="website.main_menu"/> - <field name="sequence" type="int">10</field> - <field name="page_id" ref="homepage_page"/> - </record> <!-- Contact Us page --> <record id="contactus" model="ir.ui.view"> @@ -103,14 +98,6 @@ <field name="website_published">True</field> <field name="view_id" ref="contactus"/> </record> - <record id="menu_contactus" model="website.menu"> - <field name="name">Contact us</field> - <field name="url">/contactus</field> - <field name="parent_id" ref="website.main_menu"/> - <field name="sequence" type="int">60</field> - <field name="page_id" ref="contactus_page"/> - <field name="website_id" ref="default_website"/> - </record> <!-- About Us page --> <record id="aboutus" model="ir.ui.view"> @@ -164,6 +151,15 @@ <field name="view_id" ref="aboutus"/> </record> + <record id="default_website" model="website"> + <field name="name">My Website</field> + <field name="domain"></field> + <field name="company_id" ref="base.main_company"/> + <field name="user_id" ref="base.public_user"/> + <field name="favicon" type="base64" file="web/static/src/img/favicon.ico"/> + <field name="homepage_id" ref="homepage_page"/> + </record> + <!-- Open website on install --> <record id="action_website" model="ir.actions.act_url"> <field name="name">Website</field> diff --git a/addons/website/data/website_demo.xml b/addons/website/data/website_demo.xml index 6eeab11eb95..cd7ab09f522 100644 --- a/addons/website/data/website_demo.xml +++ b/addons/website/data/website_demo.xml @@ -6,15 +6,6 @@ <field name="domain"></field> </record> - <record id="menu_contactus2" model="website.menu"> - <field name="name">Contact us</field> - <field name="url">/contactus</field> - <field name="parent_id" search="[('website_id', '=', ref('website2')), ('parent_id', '=', False)]"/> - <field name="sequence" type="int">60</field> - <field name="page_id" ref="contactus_page"/> - <field name="website_id" ref="website2"/> - </record> - <!-- BS Debug Page --> <!-- Showcase all (most?) BS components and utilities --> <record id="bs_debug_page" model="website.page"> |
