[FIX] website: allow user to create/remove website.menu

Before this commit, an user could not create or remove a website.menu since
there was no list/form view for it. Changing sequence also impossible.
Therefore, it was impossible to create or delete a menu from an event. (you
could just edit the existing one)

Now, user can access in debug mode to the list and form view of website.menu to
manage the menus.

This commit also add a link on the ir.ui.view form view to access it's related
website.page

This closes #21302
This commit is contained in:
Romain Derie
2017-12-12 15:27:51 +01:00
parent 5bbd1b1790
commit 56ae134bb2
3 changed files with 55 additions and 5 deletions
+5
View File
@@ -21,6 +21,11 @@ class View(models.Model):
customize_show = fields.Boolean("Show As Optional Inherit", default=False)
website_id = fields.Many2one('website', ondelete='cascade', string="Website")
page_ids = fields.One2many('website.page', compute='_compute_page_ids', store=False)
first_page_id = fields.Many2one('website.page', string='Website Page', help='First page linked to this view', compute='_compute_first_page_id')
@api.one
def _compute_first_page_id(self):
self.first_page_id = self.env['website.page'].search([('view_id', '=', self.id)], limit=1)
@api.one
def _compute_page_ids(self):
@@ -228,4 +228,11 @@
sequence="30"
groups="base.group_no_one"/>
<menuitem name="Menus"
id="menu_website_menu_list"
action="action_website_menu"
parent="menu_website_global_configuration"
sequence="40"
groups="base.group_no_one"/>
</odoo>
+43 -5
View File
@@ -162,11 +162,38 @@
</record>
<!-- website.menu views -->
<record id="action_website_menu" model="ir.actions.act_window">
<field name="name">Website Menu</field>
<field name="res_model">website.menu</field>
<field name="view_mode">tree</field>
<field name="context">{'search_default_my_websites':1}</field>
<record id="website_menus_form_view" model="ir.ui.view">
<field name="name">website.menu.form</field>
<field name="model">website.menu</field>
<field name="arch" type="xml">
<form string="Website Menus Settings">
<sheet>
<group>
<group>
<field name="name"/>
<field name="url"/>
<field name="page_id"/>
</group>
<group>
<field name="new_window"/>
<field name="sequence"/>
<field attrs="{'invisible': [('parent_id', '!=', False)]}" name="website_id"/>
</group>
<group>
<field name="parent_id"/>
</group>
</group>
<label string="Child Menus"/>
<field name="child_id">
<tree>
<field name="sequence" widget="handle"/>
<field name="name"/>
<field name="url"/>
</tree>
</field>
</sheet>
</form>
</field>
</record>
<record id="menu_tree" model="ir.ui.view">
@@ -203,6 +230,16 @@
</field>
</record>
<record id="action_website_menu" model="ir.actions.act_window">
<field name="name">Website Menu</field>
<field name="res_model">website.menu</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context">{'search_default_my_websites':1}</field>
<field name="view_id" ref="menu_tree"/>
<field name="target">current</field>
</record>
<!-- ir.ui.view views -->
<record model="ir.ui.view" id="view_view_form_extend">
<field name="model">ir.ui.view</field>
@@ -213,6 +250,7 @@
<field name="website_id" readonly="1"/>
<field name="key" readonly="1"/>
<field name="page_ids" invisible="1" />
<field name="first_page_id" attrs="{'invisible': [('page_ids', '=', [])]}" />
</field>
<sheet position="before">
<header>