helpdesk_security.xml 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <odoo>
  3. <data noupdate="1">
  4. <!-- Helpdesk Team Collaborator: Portal users can only see their own collaboration -->
  5. <record id="helpdesk_team_collaborator_rule_portal" model="ir.rule">
  6. <field name="name">Helpdesk Team Collaborator: portal users can only see their own collaboration</field>
  7. <field name="model_id" ref="helpdesk_extras.model_helpdesk_team_collaborator"/>
  8. <field name="domain_force">[
  9. '|',
  10. ('partner_id', '=', user.partner_id.id),
  11. '&amp;',
  12. ('team_id.collaborator_ids', 'any', [
  13. ('partner_id', '=', user.partner_id.id),
  14. ('access_mode', '=', 'admin'),
  15. ]),
  16. ]</field>
  17. <field name="groups" eval="[(4, ref('base.group_portal'))]"/>
  18. </record>
  19. <!-- Helpdesk Team: Portal users can see teams where they are followers, or teams without followers -->
  20. <record id="helpdesk_team_rule_portal_collaborator" model="ir.rule">
  21. <field name="name">Helpdesk Team: portal users can see teams where they are followers, or teams without followers</field>
  22. <field name="model_id" ref="helpdesk.model_helpdesk_team"/>
  23. <field name="domain_force">[
  24. '|',
  25. ('message_partner_ids', '=', False),
  26. ('message_partner_ids', 'in', [user.partner_id.id]),
  27. ]</field>
  28. <field name="groups" eval="[(4, ref('base.group_portal'))]"/>
  29. </record>
  30. <!-- Helpdesk Ticket: Portal users with admin access can see all tickets in the team -->
  31. <record id="helpdesk_ticket_rule_portal_admin" model="ir.rule">
  32. <field name="name">Helpdesk Ticket: portal users with admin access can see all tickets</field>
  33. <field name="model_id" ref="helpdesk.model_helpdesk_ticket"/>
  34. <field name="domain_force">[
  35. '|',
  36. ('team_id.message_partner_ids', '=', False),
  37. '&amp;',
  38. ('team_id.message_partner_ids', 'in', [user.partner_id.id]),
  39. ('team_id.collaborator_ids', 'any', [
  40. ('partner_id', '=', user.partner_id.id),
  41. ('access_mode', '=', 'admin'),
  42. ]),
  43. ]</field>
  44. <field name="perm_read" eval="True"/>
  45. <field name="perm_write" eval="True"/>
  46. <field name="perm_create" eval="True"/>
  47. <field name="perm_unlink" eval="False"/>
  48. <field name="groups" eval="[(4, ref('base.group_portal'))]"/>
  49. </record>
  50. <!-- Helpdesk Ticket: Portal users with user_all access can see all tickets and create own -->
  51. <record id="helpdesk_ticket_rule_portal_user_all" model="ir.rule">
  52. <field name="name">Helpdesk Ticket: portal users with user_all access can see all tickets</field>
  53. <field name="model_id" ref="helpdesk.model_helpdesk_ticket"/>
  54. <field name="domain_force">[
  55. '|',
  56. ('team_id.message_partner_ids', '=', False),
  57. '&amp;',
  58. ('team_id.message_partner_ids', 'in', [user.partner_id.id]),
  59. ('team_id.collaborator_ids', 'any', [
  60. ('partner_id', '=', user.partner_id.id),
  61. ('access_mode', '=', 'user_all'),
  62. ]),
  63. ]</field>
  64. <field name="perm_read" eval="True"/>
  65. <field name="perm_write" eval="False"/>
  66. <field name="perm_create" eval="True"/>
  67. <field name="perm_unlink" eval="False"/>
  68. <field name="groups" eval="[(4, ref('base.group_portal'))]"/>
  69. </record>
  70. <!-- Helpdesk Ticket: Portal users with user_own access can only see and create own tickets -->
  71. <record id="helpdesk_ticket_rule_portal_user_own" model="ir.rule">
  72. <field name="name">Helpdesk Ticket: portal users with user_own access can only see own tickets</field>
  73. <field name="model_id" ref="helpdesk.model_helpdesk_ticket"/>
  74. <field name="domain_force">[
  75. '|',
  76. ('team_id.message_partner_ids', '=', False),
  77. '&amp;',
  78. ('team_id.message_partner_ids', 'in', [user.partner_id.id]),
  79. '&amp;',
  80. ('team_id.collaborator_ids', 'any', [
  81. ('partner_id', '=', user.partner_id.id),
  82. ('access_mode', '=', 'user_own'),
  83. ]),
  84. '|',
  85. ('partner_id', '=', user.partner_id.id),
  86. ('user_id', '=', user.id),
  87. ]</field>
  88. <field name="perm_read" eval="True"/>
  89. <field name="perm_write" eval="False"/>
  90. <field name="perm_create" eval="True"/>
  91. <field name="perm_unlink" eval="False"/>
  92. <field name="groups" eval="[(4, ref('base.group_portal'))]"/>
  93. </record>
  94. </data>
  95. </odoo>