website.page = old ir.ui.view with page=True
website.redirect is a new mechanism to replace in the futur the ir.attachment
mechanism of redirect.
From now, we don't have a specific /page controller to serve 'page'.
We use a new model website.page which is rendered if none route matches the url
and that the field 'url' on website.page matches the request.httprequest.path.
The order to serve a path is:
- Routes defines in controllers (/shop, /blog, ...)
- ir.attachment with name matching the path
- website.page with url matching the path
- website.redirect with url_from matching the path
- 404
To improve:
- allow regexp in website.redirect model
- allow to edit the view_arch from the page.management via redirect backend
(needed when traceback in the page, or when modifying a js/css/less/...)
55 lines
2.7 KiB
XML
55 lines
2.7 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<record id="group_website_publisher" model="res.groups">
|
|
<field name="name">Restricted Editor</field>
|
|
<field name="category_id" ref="base.module_category_website"/>
|
|
</record>
|
|
<record id="group_website_designer" model="res.groups">
|
|
<field name="name">Editor and Designer</field>
|
|
<field name="users" eval="[(4, ref('base.user_root'))]"/>
|
|
<field name="implied_ids" eval="[(4, ref('group_website_publisher'))]"/>
|
|
<field name="category_id" ref="base.module_category_website"/>
|
|
</record>
|
|
|
|
<record id="base.default_user" model="res.users">
|
|
<field name="groups_id" eval="[(4, ref('group_website_designer'))]"/>
|
|
</record>
|
|
|
|
<record id="website_designer_edit_qweb" model="ir.rule">
|
|
<field name="name">website_designer: Manage Website and qWeb view</field>
|
|
<field name="model_id" ref="base.model_ir_ui_view"/>
|
|
<field name="domain_force">[('type', '=', 'qweb')]</field>
|
|
<field name="groups" eval="[(4, ref('group_website_designer'))]"/>
|
|
<field name="perm_read" eval="True"/>
|
|
<field name="perm_write" eval="True"/>
|
|
<field name="perm_create" eval="True"/>
|
|
<field name="perm_unlink" eval="True"/>
|
|
</record>
|
|
<record id="website_designer_view" model="ir.rule">
|
|
<field name="name">website_designer: global view</field>
|
|
<field name="model_id" ref="base.model_ir_ui_view"/>
|
|
<field name="domain_force">[('type', '!=', 'qweb')]</field>
|
|
<field name="groups" eval="[(4, ref('group_website_designer'))]"/>
|
|
<field name="perm_read" eval="True"/>
|
|
<field name="perm_write" eval="False"/>
|
|
<field name="perm_create" eval="False"/>
|
|
<field name="perm_unlink" eval="False"/>
|
|
</record>
|
|
<record id="website_group_system_edit_all_views" model="ir.rule">
|
|
<field name="name">Administration Settings: Manage all views</field>
|
|
<field name="model_id" ref="base.model_ir_ui_view"/>
|
|
<field name="domain_force">[(1, '=', 1)]</field>
|
|
<field name="groups" eval="[(4, ref('base.group_system'))]"/>
|
|
<field name="perm_read" eval="True"/>
|
|
<field name="perm_write" eval="True"/>
|
|
<field name="perm_create" eval="True"/>
|
|
<field name="perm_unlink" eval="True"/>
|
|
</record>
|
|
<record id="website_page_rule_public" model="ir.rule">
|
|
<field name="name">website.page: portal/public: read published pages</field>
|
|
<field name="model_id" ref="website.model_website_page"/>
|
|
<field name="domain_force">[('website_published', '=', True)]</field>
|
|
<field name="groups" eval="[(4, ref('base.group_portal')), (4, ref('base.group_public'))]"/>
|
|
</record>
|
|
</odoo>
|