Slink/sos_brm/security/record_rules.xml

73 lines
2.8 KiB
XML
Executable File

<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<!-- FULL control on own/assigned -->
<record id="sos_brm_action_rule_full_own" model="ir.rule">
<field name="name">BRM Action: Full (own/assigned/creator)</field>
<field name="model_id" ref="model_sos_brm_action"/>
<field name="domain_force">[
'|','|','|',
('responsible_person', '=', user.id),
('assigned_by', '=', user.id),
('create_uid', '=', user.id),
('reporting_to', '=', user.id)
]</field>
<field name="groups" eval="[(4, ref('base.group_user'))]"/>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="1"/>
<field name="perm_unlink" eval="1"/>
<field name="perm_create" eval="0"/>
</record>
<!-- keep a separate unfiltered CREATE rule -->
<record id="sos_brm_action_rule_create_any" model="ir.rule">
<field name="name">BRM Action: Create (any)</field>
<field name="model_id" ref="model_sos_brm_action"/>
<field name="domain_force">[(1,'=',1)]</field>
<field name="groups" eval="[(4, ref('base.group_user'))]"/>
<field name="perm_create" eval="1"/>
<field name="perm_read" eval="0"/>
<field name="perm_write" eval="0"/>
<field name="perm_unlink" eval="0"/>
</record>
<!-- CREATE must not be filtered by a domain -->
<record id="sos_brm_action_rule_create_any" model="ir.rule">
<field name="name">BRM Action: Create (any)</field>
<field name="model_id" ref="model_sos_brm_action"/>
<field name="domain_force">[(1,'=',1)]</field>
<field name="groups" eval="[(4, ref('base.group_user'))]"/>
<field name="perm_create" eval="1"/>
<field name="perm_read" eval="0"/>
<field name="perm_write" eval="0"/>
<field name="perm_unlink" eval="0"/>
</record>
<!-- (Optional) Managers/Finance see/edit all -->
<record id="sos_brm_action_rule_full_managers" model="ir.rule">
<field name="name">BRM Action: Full (managers/finance)</field>
<field name="model_id" ref="model_sos_brm_action"/>
<field name="domain_force">[(1,'=',1)]</field>
<field name="groups" eval="[(6, 0, [
ref('sos_inventory.sos_management_user'),
ref('sos_inventory.sos_finance_head_user')
])]"/>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="1"/>
<field name="perm_create" eval="1"/>
<field name="perm_unlink" eval="1"/>
</record>
<record id="sos_brm_action_rule_reviewer_read" model="ir.rule">
<field name="name">BRM Action: Reviewer Read Sales User Created Records</field>
<field name="model_id" ref="model_sos_brm_action"/>
<field name="domain_force">[('is_sales_user_created', '=', True)]</field>
<field name="groups" eval="[(4, ref('sos_inventory.sos_sales_reviewer'))]"/>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="0"/>
<field name="perm_unlink" eval="0"/>
<field name="perm_create" eval="0"/>
</record>
</odoo>