[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:
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user