summaryrefslogtreecommitdiff
path: root/helpdesk_mgmt/security
diff options
context:
space:
mode:
Diffstat (limited to 'helpdesk_mgmt/security')
-rw-r--r--helpdesk_mgmt/security/helpdesk_security.xml98
-rw-r--r--helpdesk_mgmt/security/ir.model.access.csv19
2 files changed, 117 insertions, 0 deletions
diff --git a/helpdesk_mgmt/security/helpdesk_security.xml b/helpdesk_mgmt/security/helpdesk_security.xml
new file mode 100644
index 0000000..a469881
--- /dev/null
+++ b/helpdesk_mgmt/security/helpdesk_security.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<odoo>
+ <data noupdate="0">
+ <record id="group_helpdesk_user_own" model="res.groups">
+ <field name="name">User: Personal tickets</field>
+ <field name="category_id" ref="module_helpdesk_category" />
+ <field name="implied_ids" eval="[(4, ref('base.group_user'))]" />
+ </record>
+ <record id="group_helpdesk_user" model="res.groups">
+ <field name="name">User</field>
+ <field name="category_id" ref="module_helpdesk_category" />
+ <field name="implied_ids" eval="[(4, ref('group_helpdesk_user_own'))]" />
+ </record>
+ <record id="group_helpdesk_manager" model="res.groups">
+ <field name="name">Helpdesk Manager</field>
+ <field name="category_id" ref="module_helpdesk_category" />
+ <field name="implied_ids" eval="[(4, ref('group_helpdesk_user'))]" />
+ <field
+ name="users"
+ eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"
+ />
+ </record>
+ </data>
+ <data noupdate="1">
+ <record id="helpesk_ticket_personal_rule" model="ir.rule">
+ <field name="name">Personal Tickets</field>
+ <field ref="model_helpdesk_ticket" name="model_id" />
+ <field
+ name="domain_force"
+ >['|',('user_id','=',user.id),('user_id','=',False)]</field>
+ <field name="groups" eval="[(4, ref('group_helpdesk_user_own'))]" />
+ </record>
+ <record id="helpdesk_ticket_user_rule" model="ir.rule">
+ <field name="name">All Tickets</field>
+ <field ref="model_helpdesk_ticket" name="model_id" />
+ <field name="domain_force">[(1,'=',1)]</field>
+ <field name="groups" eval="[(4, ref('group_helpdesk_user'))]" />
+ </record>
+ <!-- Company Rules -->
+ <record id="helpdesk_ticket_comp_rule" model="ir.rule">
+ <field name="name">Helpdesk Ticket Company Rule</field>
+ <field name="model_id" ref="model_helpdesk_ticket" />
+ <field name="global" eval="True" />
+ <field
+ name="domain_force"
+ >['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+ <record id="helpdesk_ticket_category_comp_rule" model="ir.rule">
+ <field name="name">Helpdesk Category Company Rule</field>
+ <field name="model_id" ref="model_helpdesk_ticket_category" />
+ <field name="global" eval="True" />
+ <field
+ name="domain_force"
+ >['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+ <record id="helpdesk_ticket_channel_comp_rule" model="ir.rule">
+ <field name="name">Helpdesk Channel Company Rule</field>
+ <field name="model_id" ref="model_helpdesk_ticket_channel" />
+ <field name="global" eval="True" />
+ <field
+ name="domain_force"
+ >['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+ <record id="helpdesk_ticket_stage_comp_rule" model="ir.rule">
+ <field name="name">Helpdesk Stage Company Rule</field>
+ <field name="model_id" ref="model_helpdesk_ticket_stage" />
+ <field name="global" eval="True" />
+ <field
+ name="domain_force"
+ >['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+ <record id="helpdesk_ticket_tag_comp_rule" model="ir.rule">
+ <field name="name">Helpdesk Tag Company Rule</field>
+ <field name="model_id" ref="model_helpdesk_ticket_tag" />
+ <field name="global" eval="True" />
+ <field
+ name="domain_force"
+ >['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+ <record id="helpdesk_ticket_team_comp_rule" model="ir.rule">
+ <field name="name">Helpdesk Team Company Rule</field>
+ <field name="model_id" ref="model_helpdesk_ticket_team" />
+ <field name="global" eval="True" />
+ <field
+ name="domain_force"
+ >['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+ <!-- Portal for helpdesk -->
+ <record id="helpdesk_ticket_rule_portal" model="ir.rule">
+ <field name="name">Portal Personal Tickets</field>
+ <field name="model_id" ref="model_helpdesk_ticket" />
+ <field
+ name="domain_force"
+ >[('message_partner_ids','child_of',[user.commercial_partner_id.id])]</field>
+ <field name="groups" eval="[(4, ref('base.group_portal'))]" />
+ </record>
+ </data>
+</odoo>
diff --git a/helpdesk_mgmt/security/ir.model.access.csv b/helpdesk_mgmt/security/ir.model.access.csv
new file mode 100644
index 0000000..e9ce03d
--- /dev/null
+++ b/helpdesk_mgmt/security/ir.model.access.csv
@@ -0,0 +1,19 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+access_helpdesk_ticket_manager,helpdesk.ticket.manager,model_helpdesk_ticket,group_helpdesk_manager,1,1,1,1
+access_helpdesk_ticket_user,helpdesk.ticket.user,model_helpdesk_ticket,group_helpdesk_user,1,1,1,0
+access_helpdesk_ticket_user_personal,helpdesk.ticket.user.personal,model_helpdesk_ticket,group_helpdesk_user_own,1,1,1,0
+access_helpdesk_ticket_portal,helpdesk.ticket.portal,model_helpdesk_ticket,base.group_portal,1,0,0,0
+access_helpdesk_ticket_stage_manager,helpdesk.ticket.stage.manager,model_helpdesk_ticket_stage,group_helpdesk_manager,1,1,1,1
+access_helpdesk_ticket_stage_user,helpdesk.ticket.stage.user,model_helpdesk_ticket_stage,base.group_user,1,0,0,0
+access_helpdesk_ticket_stage_portal,helpdesk.ticket.stage.portal,model_helpdesk_ticket_stage,base.group_portal,1,0,0,0
+access_helpdesk_ticket_stage_public,helpdesk.ticket.stage.public,model_helpdesk_ticket_stage,base.group_public,1,1,0,0
+access_helpdesk_ticket_tag_manager,helpdesk.ticket.tag.manager,model_helpdesk_ticket_tag,group_helpdesk_manager,1,1,1,1
+access_helpdesk_ticket_tag_user,helpdesk.ticket.tag.user,model_helpdesk_ticket_tag,base.group_user,1,0,0,0
+access_helpdesk_ticket_team_manager,helpdesk.ticket.team.manager,model_helpdesk_ticket_team,group_helpdesk_manager,1,1,1,1
+access_helpdesk_ticket_team_user,helpdesk.ticket.team.user,model_helpdesk_ticket_team,base.group_user,1,0,0,0
+access_helpdesk_ticket_channel_manager,helpdesk.ticket.channel.manager,model_helpdesk_ticket_channel,group_helpdesk_manager,1,1,1,1
+access_helpdesk_ticket_channel_user,helpdesk.ticket.channel.user,model_helpdesk_ticket_channel,base.group_user,1,0,0,0
+access_helpdesk_ticket_category_manager,helpdesk.ticket.category.manager,model_helpdesk_ticket_category,group_helpdesk_manager,1,1,1,1
+access_helpdesk_ticket_category_user,helpdesk.ticket.category.user,model_helpdesk_ticket_category,base.group_user,1,0,0,0
+access_helpdesk_ticket_category_portal,helpdesk.ticket.category.portal,model_helpdesk_ticket_category,base.group_portal,1,0,0,0
+access_helpdesk_ticket_category_public,helpdesk.ticket.category.public,model_helpdesk_ticket_category,base.group_public,1,0,0,0