summaryrefslogtreecommitdiff
path: root/sh_helpdesk/security
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 17:14:58 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 17:14:58 +0700
commit1ca3b3df3421961caec3b747a364071c80f5c7da (patch)
tree6778a1f0f3f9b4c6e26d6d87ccde16e24da6c9d6 /sh_helpdesk/security
parentb57188be371d36d96caac4b8d65a40745c0e972c (diff)
initial commit
Diffstat (limited to 'sh_helpdesk/security')
-rw-r--r--sh_helpdesk/security/ir.model.access.csv37
-rw-r--r--sh_helpdesk/security/send_mail_security.xml13
-rw-r--r--sh_helpdesk/security/sh_helpdesk_security.xml92
3 files changed, 142 insertions, 0 deletions
diff --git a/sh_helpdesk/security/ir.model.access.csv b/sh_helpdesk/security/ir.model.access.csv
new file mode 100644
index 0000000..6a44589
--- /dev/null
+++ b/sh_helpdesk/security/ir.model.access.csv
@@ -0,0 +1,37 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+access_helpdesk_team_manager,access_helpdesk_team_manager,model_helpdesk_team,sh_helpdesk.helpdesk_group_manager,1,1,1,1
+access_helpdesk_team_leader,access_helpdesk_team_leader,model_helpdesk_team,sh_helpdesk.helpdesk_group_team_leader,1,0,0,0
+access_helpdesk_team_user,access_helpdesk_team_user,model_helpdesk_team,sh_helpdesk.helpdesk_group_user,1,0,0,0
+access_helpdesk_ticket_type_manager,access_helpdesk_ticket_type_manager,model_helpdesk_ticket_type,sh_helpdesk.helpdesk_group_manager,1,1,1,1
+access_helpdesk_ticket_type_leader,access_helpdesk_ticket_type_leader,model_helpdesk_ticket_type,sh_helpdesk.helpdesk_group_team_leader,1,0,0,0
+access_helpdesk_ticket_type_user,access_helpdesk_ticket_type_user,model_helpdesk_ticket_type,sh_helpdesk.helpdesk_group_user,1,0,0,0
+access_helpdesk_sub_type_manager,access_helpdesk_sub_type_manager,model_helpdesk_sub_type,sh_helpdesk.helpdesk_group_manager,1,1,1,1
+access_helpdesk_sub_type_leader,access_helpdesk_sub_type_leader,model_helpdesk_sub_type,sh_helpdesk.helpdesk_group_team_leader,1,0,0,0
+access_helpdesk_sub_type_user,access_helpdesk_sub_type_user,model_helpdesk_sub_type,sh_helpdesk.helpdesk_group_user,1,0,0,0
+access_helpdesk_tags_manager,access_helpdesk_tags_manager,model_helpdesk_tags,sh_helpdesk.helpdesk_group_manager,1,1,1,1
+access_helpdesk_tags_leader,access_helpdesk_tags_leader,model_helpdesk_tags,sh_helpdesk.helpdesk_group_team_leader,1,0,0,0
+access_helpdesk_tags_user,access_helpdesk_tags_user,model_helpdesk_tags,sh_helpdesk.helpdesk_group_user,1,0,0,0
+access_helpdesk_stages_manager,access_helpdesk_stages_manager,model_helpdesk_stages,sh_helpdesk.helpdesk_group_manager,1,1,1,1
+access_helpdesk_stages_leader,access_helpdesk_stages_leader,model_helpdesk_stages,sh_helpdesk.helpdesk_group_team_leader,1,1,1,0
+access_helpdesk_stages_user,access_helpdesk_stages_user,model_helpdesk_stages,sh_helpdesk.helpdesk_group_user,1,1,1,0
+access_helpdesk_category_manager,access_helpdesk_category_manager,model_helpdesk_category,sh_helpdesk.helpdesk_group_manager,1,1,1,1
+access_helpdesk_category_leader,access_helpdesk_category_leader,model_helpdesk_category,sh_helpdesk.helpdesk_group_team_leader,1,0,0,0
+access_helpdesk_category_user,access_helpdesk_category_user,model_helpdesk_category,sh_helpdesk.helpdesk_group_user,1,0,0,0
+access_helpdesk_subcategory_manager,access_helpdesk_subcategory_manager,model_helpdesk_subcategory,sh_helpdesk.helpdesk_group_manager,1,1,1,1
+access_helpdesk_subcategory_leader,access_helpdesk_subcategory_leader,model_helpdesk_subcategory,sh_helpdesk.helpdesk_group_team_leader,1,0,0,0
+access_helpdesk_subcategory_user,access_helpdesk_subcategory_user,model_helpdesk_subcategory,sh_helpdesk.helpdesk_group_user,1,0,0,0
+access_helpdesk_priority_manager,access_helpdesk_priority_manager,model_helpdesk_priority,sh_helpdesk.helpdesk_group_manager,1,1,1,1
+access_helpdesk_priority_leader,access_helpdesk_priority_leader,model_helpdesk_priority,sh_helpdesk.helpdesk_group_team_leader,1,0,0,0
+access_helpdesk_priority_user,access_helpdesk_priority_user,model_helpdesk_priority,sh_helpdesk.helpdesk_group_user,1,0,0,0
+access_helpdesk_ticket_manager,access_helpdesk_ticket_manager,model_helpdesk_ticket,sh_helpdesk.helpdesk_group_manager,1,1,1,1
+access_helpdesk_ticket_leader,access_helpdesk_ticket_leader,model_helpdesk_ticket,sh_helpdesk.helpdesk_group_team_leader,1,1,1,0
+access_helpdesk_ticket_user,access_helpdesk_ticket_user,model_helpdesk_ticket,sh_helpdesk.helpdesk_group_user,1,1,1,0
+access_helpdesk_dashboard_manager,access_helpdesk_dashboard_manager,model_ticket_dashboard,sh_helpdesk.helpdesk_group_manager,1,1,1,1
+access_helpdesk_dashboard_leader,access_helpdesk_dashboard_leader,model_ticket_dashboard,helpdesk_group_team_leader,1,1,1,1
+access_helpdesk_dashboard_user,access_helpdesk_dashboard_user,model_ticket_dashboard,sh_helpdesk.helpdesk_group_user,1,1,1,1
+access_sh_quick_reply,access_sh_quick_reply,model_sh_quick_reply,base.group_user,1,1,1,1
+access_sh_quick_reply_user,access_sh_quick_reply_user,model_sh_quick_reply,sh_helpdesk.group_send_quick_reply,1,1,1,1
+access_sh_helpdesk_sla_policy,access_sh_helpdesk_sla_policy,model_sh_helpdesk_sla,base.group_user,1,1,1,1
+access_sh_helpdesk_sla_status,access_sh_helpdesk_sla_status,model_sh_helpdesk_sla_status,base.group_user,1,1,1,1
+access_sh_ticket_alarm,access_sh_ticket_alarm,model_sh_ticket_alarm,base.group_user,1,1,1,1
+access_sh_helpdesk_ticket_mass_update_wizard,access_sh_helpdesk_ticket_mass_update_wizard,model_sh_helpdesk_ticket_mass_update_wizard,base.group_user,1,1,1,1
diff --git a/sh_helpdesk/security/send_mail_security.xml b/sh_helpdesk/security/send_mail_security.xml
new file mode 100644
index 0000000..dcee2d3
--- /dev/null
+++ b/sh_helpdesk/security/send_mail_security.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<odoo>
+ <record id="group_send_quick_reply" model="res.groups">
+ <field name="name">Send Quick Reply</field>
+ </record>
+ <record model="ir.rule" id="sh_send_quick_reply_user_rule">
+ <field name="name">Send Quick Reply</field>
+ <field name="model_id" ref="model_sh_quick_reply" />
+ <field name="global" eval="True" />
+ <field name="domain_force">['|','|',('sh_user_id','in',[user.id]),('sh_user_id','=',False),('commom_for_all','=',True)]</field>
+ <field name="groups" eval="[(4, ref('sh_helpdesk.group_send_quick_reply'))]" />
+ </record>
+</odoo> \ No newline at end of file
diff --git a/sh_helpdesk/security/sh_helpdesk_security.xml b/sh_helpdesk/security/sh_helpdesk_security.xml
new file mode 100644
index 0000000..c06e488
--- /dev/null
+++ b/sh_helpdesk/security/sh_helpdesk_security.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<odoo>
+ <record model="ir.module.category" id="module_helpdesk_category">
+ <field name="name">Helpdesk</field>
+ <field name="description">Helpdesk</field>
+ <field name="sequence">20</field>
+ </record>
+ <record id="helpdesk_group_user" model="res.groups">
+ <field name="name">Support User</field>
+ <field name="category_id" ref="module_helpdesk_category" />
+ <field name="implied_ids" eval="[(4,ref('base.group_user'))]" />
+ </record>
+ <record id="helpdesk_group_team_leader" model="res.groups">
+ <field name="name">Team Leader</field>
+ <field name="category_id" ref="module_helpdesk_category" />
+ <field name="implied_ids" eval="[(4,ref('helpdesk_group_user'))]" />
+ </record>
+ <record id="helpdesk_group_manager" model="res.groups">
+ <field name="name">Support Manager</field>
+ <field name="category_id" ref="module_helpdesk_category" />
+ <field name="implied_ids" eval="[(4,ref('helpdesk_group_team_leader'))]" />
+ <field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]" />
+ </record>
+
+ <record model="ir.rule" id="helpdesk_ticket_comp_rule">
+ <field name="name">Helpdesk Ticket multi-company</field>
+ <field name="model_id" ref="model_helpdesk_ticket" />
+ <field name="global" eval="True" />
+ <field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
+ </record>
+ <record model="ir.rule" id="helpdesk_ticket_manager_rule">
+ <field name="name">Helpdesk Ticket Manager</field>
+ <field name="model_id" ref="model_helpdesk_ticket" />
+ <field name="domain_force">[(1, '=', 1)]</field>
+ <field name="groups" eval="[(4, ref('sh_helpdesk.helpdesk_group_manager'))]" />
+ </record>
+ <record model="ir.rule" id="helpdesk_ticket_team_leader_rule">
+ <field name="name">Helpdesk Ticket Team Leader</field>
+ <field name="model_id" ref="model_helpdesk_ticket" />
+ <field name="global" eval="True" />
+ <field name="domain_force">['|','|','|','|','|',('team_head','=',user.id),('team_head','=',False),('user_id','=',user.id),('user_id','=',False),('sh_user_ids','in',[user.id]),('sh_user_ids','=',False)]</field>
+ <field name="groups" eval="[(4, ref('sh_helpdesk.helpdesk_group_team_leader'))]" />
+ </record>
+ <record model="ir.rule" id="helpdesk_ticket_assigned_user_rule">
+ <field name="name">Helpdesk Ticket Assigned User</field>
+ <field name="model_id" ref="model_helpdesk_ticket" />
+ <field name="global" eval="True" />
+ <field name="domain_force">['|','|','|',('user_id','in',[user.id]),('user_id','=',False),('sh_user_ids','in',[user.id]),('sh_user_ids','=',False)]</field>
+ <field name="groups" eval="[(4, ref('sh_helpdesk.helpdesk_group_user'))]" />
+ </record>
+ <record model="ir.rule" id="helpdesk_team_manager_rule">
+ <field name="name">Helpdesk Team Manager</field>
+ <field name="model_id" ref="model_helpdesk_team" />
+ <field name="global" eval="True" />
+ <field name="domain_force">[(1,'=',1)]</field>
+ <field name="groups" eval="[(4, ref('sh_helpdesk.helpdesk_group_manager'))]" />
+ </record>
+ <record model="ir.rule" id="helpdesk_team_team_leader_rule">
+ <field name="name">Helpdesk Team Team Leader</field>
+ <field name="model_id" ref="model_helpdesk_team" />
+ <field name="global" eval="True" />
+ <field name="domain_force">['|','|',('team_head','=',user.id),('team_head','=',False),('team_members','in',[user.id])]</field>
+ <field name="groups" eval="[(4, ref('sh_helpdesk.helpdesk_group_team_leader'))]" />
+ </record>
+ <record id="group_helpdesk_sla_policy" model="res.groups">
+ <field name="name">Helpdesk SLA Policy</field>
+ <field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]" />
+ </record>
+ <record model="ir.rule" id="helpdesk_sla_comp_rule">
+ <field name="name">Helpdesk SLA multi-company</field>
+ <field name="model_id" ref="model_sh_helpdesk_sla" />
+ <field name="global" eval="True" />
+ <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+ <record id="group_helpdesk_alarm" model="res.groups">
+ <field name="name">Helpdesk Ticket Alarm</field>
+ <field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]" />
+ </record>
+ <record id="sh_ticket_alarm_comp_rule" model="ir.rule">
+ <field name="name">Ticket Alarm multi-company</field>
+ <field name="model_id" ref="model_sh_ticket_alarm" />
+ <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+ <record id="helpdesk_group_whatsapp" model="res.groups">
+ <field name="name">Helpdesk Whatsapp Feature</field>
+ <field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]" />
+ </record>
+
+ <record id="group_allow_multi_action" model="res.groups">
+ <field name="name">Mass Ticket Update</field>
+ </record>
+</odoo> \ No newline at end of file