Files
odoo_source/addons/website/security/website_security.xml
T
rde 4ecbacaf59 [ADD] website: add new page management
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/...)
2017-09-15 15:29:37 +02:00

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>