diff options
| author | Romain Derie <rde@odoo.com> | 2017-11-28 16:05:28 +0100 |
|---|---|---|
| committer | Romain Derie <rde@odoo.com> | 2017-12-12 15:27:51 +0100 |
| commit | 56ae134bb223d16da712f5dcfe0d9a221feb5d72 (patch) | |
| tree | 1d636f45a76a45ab915734c4ba90cd5ee450769f | |
| parent | 5bbd1b17907682b329e97d8b2420dc598804876b (diff) | |
[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
| -rw-r--r-- | addons/website/models/ir_ui_view.py | 5 | ||||
| -rw-r--r-- | addons/website/views/res_config_settings_views.xml | 7 | ||||
| -rw-r--r-- | addons/website/views/website_views.xml | 48 |
3 files changed, 55 insertions, 5 deletions
diff --git a/addons/website/models/ir_ui_view.py b/addons/website/models/ir_ui_view.py index 5a8cdb4e27e..0476de9602f 100644 --- a/addons/website/models/ir_ui_view.py +++ b/addons/website/models/ir_ui_view.py @@ -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): diff --git a/addons/website/views/res_config_settings_views.xml b/addons/website/views/res_config_settings_views.xml index 1266c0db11e..1f43ae1b157 100644 --- a/addons/website/views/res_config_settings_views.xml +++ b/addons/website/views/res_config_settings_views.xml @@ -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> diff --git a/addons/website/views/website_views.xml b/addons/website/views/website_views.xml index d65e4dc2125..85bd643cb19 100644 --- a/addons/website/views/website_views.xml +++ b/addons/website/views/website_views.xml @@ -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> |
