diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/website_forum/security | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/website_forum/security')
| -rw-r--r-- | addons/website_forum/security/ir.model.access.csv | 15 | ||||
| -rw-r--r-- | addons/website_forum/security/website_forum_security.xml | 74 |
2 files changed, 89 insertions, 0 deletions
diff --git a/addons/website_forum/security/ir.model.access.csv b/addons/website_forum/security/ir.model.access.csv new file mode 100644 index 00000000..7c2a5db9 --- /dev/null +++ b/addons/website_forum/security/ir.model.access.csv @@ -0,0 +1,15 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_forum_forum,forum.forum,model_forum_forum,,1,0,0,0 +access_forum_forum_manager,forum.forum.maanger,model_forum_forum,base.group_erp_manager,1,1,1,1 +access_forum_post_public,forum.post.public,model_forum_post,base.group_public,1,0,0,0 +access_forum_post_portal,forum.post.portal,model_forum_post,base.group_portal,1,1,1,1 +access_forum_post_user,forum.post.user,model_forum_post,base.group_user,1,1,1,1 +access_forum_post_vote_public,forum.post.vote.public,model_forum_post_vote,base.group_public,1,0,0,0 +access_forum_post_vote_portal,orum.post.vote.portal,model_forum_post_vote,base.group_portal,1,1,1,0 +access_forum_post_vote_user,forum.post.vote.user,model_forum_post_vote,base.group_user,1,1,1,1 +access_forum_post_reason_public,forum.post.reason.public,model_forum_post_reason,base.group_public,1,0,0,0 +access_forum_post_reason_portal,forum.post.reason.portal,model_forum_post_reason,base.group_portal,1,0,0,0 +access_forum_post_reason_user,forum.post.reason.user,model_forum_post_reason,base.group_user,1,1,1,1 +access_forum_tag_public,forum.tag.public,model_forum_tag,base.group_public,1,0,1,0 +access_forum_tag_portal,forum.tag.portal,model_forum_tag,base.group_portal,1,0,1,0 +access_forum_tag_user,forum.tag.user,model_forum_tag,base.group_user,1,1,1,1 diff --git a/addons/website_forum/security/website_forum_security.xml b/addons/website_forum/security/website_forum_security.xml new file mode 100644 index 00000000..1293ae07 --- /dev/null +++ b/addons/website_forum/security/website_forum_security.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo noupdate="1"> + <record id="website_forum_public" model="ir.rule"> + <field name="name">Website forum: Public user can only access to public forum</field> + <field name="model_id" ref="model_forum_forum"/> + <field name="domain_force">[('privacy', '=', 'public')]</field> + <field name="groups" eval="[(4, ref('base.group_public'))]"/> + </record> + <record id="website_forum_connected" model="ir.rule"> + <field name="name">Website forum: User can only access to public (or authorized) forum</field> + <field name="model_id" ref="model_forum_forum"/> + <field name="domain_force">[ + '|', + ('privacy', 'in', ['public', 'connected']), + '&', + ('privacy', '=', 'private'), + ('authorized_group_id', 'in', user.groups_id.ids)]</field> + <field name="groups" eval="[(4, ref('base.group_portal')), (4, ref('base.group_user'))]"/> + </record> + <record id="website_forum_create_website_designer" model="ir.rule"> + <field name="name">Website forum: Website designer can create private forum</field> + <field name="model_id" ref="model_forum_forum"/> + <field name="domain_force">[(1, '=', 1)]</field> + <field name="groups" eval="[(4, ref('website.group_website_designer'))]"/> + <field name="perm_unlink" eval="0"/> + <field name="perm_write" eval="0"/> + <field name="perm_read" eval="0"/> + <field name="perm_create" eval="1"/> + </record> + <record id="website_forum_private" model="ir.rule"> + <field name="name">Website forum: All access for manager</field> + <field name="model_id" ref="model_forum_forum"/> + <field name="domain_force">[(1, '=', 1)]</field> + <field name="groups" eval="[(4, ref('base.group_erp_manager'))]"/> + </record> + + <record id="website_forum_public_post" model="ir.rule"> + <field name="name">Website forum post: Public user can only access to public post</field> + <field name="model_id" ref="model_forum_post"/> + <field name="domain_force">[('forum_id.privacy', '=', 'public')]</field> + <field name="groups" eval="[(4, ref('base.group_public'))]"/> + </record> + <record id="website_forum_connected_post" model="ir.rule"> + <field name="name">Website forum post: User can only access to public (or authorized) post</field> + <field name="model_id" ref="model_forum_post"/> + <field name="domain_force">['|', ('forum_id.privacy', 'in', ['public', 'connected']), '&', ('forum_id.privacy', '=', 'private'), ('forum_id.authorized_group_id', 'in', user.groups_id.ids)]</field> + <field name="groups" eval="[(4, ref('base.group_portal')), (4, ref('base.group_user'))]"/> + </record> + <record id="website_forum_private_post" model="ir.rule"> + <field name="name">Website forum post : All access for manager</field> + <field name="model_id" ref="model_forum_post"/> + <field name="domain_force">[(1, '=', 1)]</field> + <field name="groups" eval="[(4, ref('base.group_erp_manager'))]"/> + </record> + + <record id="website_forum_public_tag" model="ir.rule"> + <field name="name">Website forum tag: Public user can only access to tag linked to public forum</field> + <field name="model_id" ref="model_forum_tag"/> + <field name="domain_force">[('forum_id.privacy', '=', 'public')]</field> + <field name="groups" eval="[(4, ref('base.group_public'))]"/> + </record> + <record id="website_forum_connected_tag" model="ir.rule"> + <field name="name">Website forum tag: User can only access to tag linked to public (or authorized) forum</field> + <field name="model_id" ref="model_forum_tag"/> + <field name="domain_force">['|', ('forum_id.privacy', 'in', ['public', 'connected']), '&', ('forum_id.privacy', '=', 'private'), ('forum_id.authorized_group_id', 'in', user.groups_id.ids)]</field> + <field name="groups" eval="[(4, ref('base.group_portal')), (4, ref('base.group_user'))]"/> + </record> + <record id="website_forum_private_tag" model="ir.rule"> + <field name="name">Website forum tag : Manager user can access to all tags</field> + <field name="model_id" ref="model_forum_tag"/> + <field name="domain_force">[(1, '=', 1)]</field> + <field name="groups" eval="[(4, ref('base.group_erp_manager'))]"/> + </record> +</odoo> |
