summaryrefslogtreecommitdiff
path: root/addons/website_forum/security
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/website_forum/security
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/website_forum/security')
-rw-r--r--addons/website_forum/security/ir.model.access.csv15
-rw-r--r--addons/website_forum/security/website_forum_security.xml74
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']),
+ '&amp;',
+ ('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']), '&amp;', ('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']), '&amp;', ('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>