Files

204 lines
11 KiB
XML
Raw Permalink Normal View History

2026-07-01 14:41:49 +07:00
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="module_category_xf_doc_approval" model="res.groups.privilege">
<field name="name">Doc Approval</field>
<field name="description">Helps you approve single documents and document packages.</field>
<field name="sequence">15</field>
</record>
<record id="group_xf_doc_approval_user" model="res.groups">
<field name="name">User</field>
<field name="privilege_id" ref="module_category_xf_doc_approval"/>
</record>
<record id="group_xf_doc_approval_initiator" model="res.groups">
<field name="name">Initiator</field>
<field name="privilege_id" ref="module_category_xf_doc_approval"/>
<field name="implied_ids" eval="[(4, ref('group_xf_doc_approval_user'))]"/>
</record>
<record id="group_xf_doc_approval_team_leader" model="res.groups">
<field name="name">Team Leader</field>
<field name="privilege_id" ref="module_category_xf_doc_approval"/>
<field name="implied_ids" eval="[(4, ref('group_xf_doc_approval_initiator'))]"/>
</record>
<record id="group_xf_doc_approval_manager" model="res.groups">
<field name="name">Manager</field>
<field name="privilege_id" ref="module_category_xf_doc_approval"/>
<field name="implied_ids" eval="[(4, ref('group_xf_doc_approval_team_leader'))]"/>
<field name="user_ids" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
</record>
<!-- Rules -->
<!-- Company Based Global Rules -->
<record model="ir.rule" id="xf_doc_approval_team_comp_rule">
<field name="name">Approval Team (multi-company)</field>
<field name="model_id" ref="model_xf_doc_approval_team"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record model="ir.rule" id="xf_doc_approval_document_package_comp_rule">
<field name="name">Document Package (multi-company)</field>
<field name="model_id" ref="model_xf_doc_approval_document_package"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record model="ir.rule" id="xf_doc_approval_document_comp_rule">
<field name="name">Document (multi-company)</field>
<field name="model_id" ref="model_xf_doc_approval_document"/>
<field name="domain_force">['|',('document_package_id.company_id','=',False),('document_package_id.company_id', 'in', company_ids)]</field>
</record>
<!-- User Rules -->
<record model="ir.rule" id="model_xf_doc_approval_document_package_user_rule">
<field name="name">User Access for Document Package</field>
<field name="model_id" ref="model_xf_doc_approval_document_package"/>
<field name="domain_force">
[
'|','|','|',
('visibility', '=', 'all_users'),
'&amp;', ('visibility', '=', 'followers'), ('message_partner_ids', 'in', [user.partner_id.id]),
('approver_ids.user_id', '=', user.id),
('initiator_user_id', '=', user.id),
]
</field>
<field name="groups" eval="[(4,ref('xf_doc_approval.group_xf_doc_approval_user'))]"/>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="0"/>
<field name="perm_create" eval="0"/>
<field name="perm_unlink" eval="0"/>
</record>
<record model="ir.rule" id="model_xf_doc_approval_document_user_rule">
<field name="name">User Access for Document</field>
<field name="model_id" ref="model_xf_doc_approval_document"/>
<field name="domain_force">
[
'|','|','|',
('document_package_id.visibility', '=', 'all_users'),
'&amp;', ('document_package_id.visibility', '=', 'followers'), ('document_package_id.message_partner_ids', 'in', [user.partner_id.id]),
('document_package_id.approver_ids.user_id', '=', user.id),
('document_package_id.initiator_user_id', '=', user.id),
]
</field>
<field name="groups" eval="[(4,ref('xf_doc_approval.group_xf_doc_approval_user'))]"/>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="0"/>
<field name="perm_create" eval="0"/>
<field name="perm_unlink" eval="0"/>
</record>
<record model="ir.rule" id="model_xf_doc_approval_document_approver_user_rule">
<field name="name">User Access for Document Approver</field>
<field name="model_id" ref="model_xf_doc_approval_document_approver"/>
<field name="domain_force">
[
'|','|','|',
('document_package_id.visibility', '=', 'all_users'),
'&amp;', ('document_package_id.visibility', '=', 'followers'), ('document_package_id.message_partner_ids', 'in', [user.partner_id.id]),
('document_package_id.approver_ids.user_id', '=', user.id),
('document_package_id.initiator_user_id', '=', user.id),
]
</field>
<field name="groups" eval="[(4,ref('xf_doc_approval.group_xf_doc_approval_user'))]"/>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="0"/>
<field name="perm_create" eval="0"/>
<field name="perm_unlink" eval="0"/>
</record>
<record model="ir.rule" id="model_xf_doc_approval_document_approver_user_rule">
<field name="name">User Access for Document Approver</field>
<field name="model_id" ref="model_xf_doc_approval_document_approver"/>
<field name="domain_force">[('user_id', '=', user.id)]</field>
<field name="groups" eval="[(4,ref('xf_doc_approval.group_xf_doc_approval_user'))]"/>
<field name="perm_read" eval="0"/>
<field name="perm_write" eval="1"/>
<field name="perm_create" eval="0"/>
<field name="perm_unlink" eval="0"/>
</record>
<record model="ir.rule" id="model_xf_doc_approval_document_package_initiator_rule">
<field name="name">Initiator Access for Document Package</field>
<field name="model_id" ref="model_xf_doc_approval_document_package"/>
<field name="domain_force">[('initiator_user_id', '=', user.id)]</field>
<field name="groups" eval="[(4,ref('xf_doc_approval.group_xf_doc_approval_initiator'))]"/>
<field name="perm_read" eval="0"/>
<field name="perm_write" eval="1"/>
<field name="perm_create" eval="1"/>
<field name="perm_unlink" eval="1"/>
</record>
<record model="ir.rule" id="model_xf_doc_approval_document_package_account__user_rule">
<field name="name">Initiator Access for Document Package</field>
<field name="model_id" ref="model_xf_doc_approval_document_package"/>
<field name="domain_force">[]</field>
<field name="groups" eval="[(4,ref('account.group_account_user'))]"/>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="1"/>
<field name="perm_create" eval="0"/>
<field name="perm_unlink" eval="0"/>
</record>
<record model="ir.rule" id="model_xf_doc_approval_document_package_account_manager_rule">
<field name="name">Initiator Access for Document Package</field>
<field name="model_id" ref="model_xf_doc_approval_document_package"/>
<field name="domain_force">[]</field>
<field name="groups" eval="[(4,ref('account.group_account_manager'))]"/>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="1"/>
<field name="perm_create" eval="0"/>
<field name="perm_unlink" eval="0"/>
</record>
<record model="ir.rule" id="model_xf_doc_approval_document_initiator_rule">
<field name="name">Initiator Access for Document</field>
<field name="model_id" ref="model_xf_doc_approval_document"/>
<field name="domain_force">[('document_package_id.initiator_user_id', '=', user.id)]</field>
<field name="groups" eval="[(4,ref('xf_doc_approval.group_xf_doc_approval_initiator'))]"/>
<field name="perm_read" eval="0"/>
<field name="perm_write" eval="1"/>
<field name="perm_create" eval="1"/>
<field name="perm_unlink" eval="1"/>
</record>
<record model="ir.rule" id="model_xf_doc_approval_document_approver_initiator_rule">
<field name="name">Initiator Access for Document Approver</field>
<field name="model_id" ref="model_xf_doc_approval_document_approver"/>
<field name="domain_force">[('document_package_id.initiator_user_id', '=', user.id)]</field>
<field name="groups" eval="[(4,ref('xf_doc_approval.group_xf_doc_approval_initiator'))]"/>
<field name="perm_read" eval="0"/>
<field name="perm_write" eval="1"/>
<field name="perm_create" eval="1"/>
<field name="perm_unlink" eval="1"/>
</record>
<record model="ir.rule" id="model_xf_doc_approval_team_tl_rule">
<field name="name">Team Leader Access for Approval Team</field>
<field name="model_id" ref="model_xf_doc_approval_team"/>
<field name="domain_force">[('user_id', '=', user.id)]</field>
<field name="groups" eval="[(4,ref('xf_doc_approval.group_xf_doc_approval_team_leader'))]"/>
<field name="perm_read" eval="0"/>
<field name="perm_write" eval="1"/>
<field name="perm_create" eval="1"/>
<field name="perm_unlink" eval="1"/>
</record>
<record model="ir.rule" id="model_xf_doc_approval_team_approver_tl_rule">
<field name="name">Team Leader Access for Approval Team Member</field>
<field name="model_id" ref="model_xf_doc_approval_team_approver"/>
<field name="domain_force">[('team_id.user_id', '=', user.id)]</field>
<field name="groups" eval="[(4,ref('xf_doc_approval.group_xf_doc_approval_team_leader'))]"/>
<field name="perm_read" eval="0"/>
<field name="perm_write" eval="1"/>
<field name="perm_create" eval="1"/>
<field name="perm_unlink" eval="1"/>
</record>
</data>
</odoo>