|
|
|
@@ -0,0 +1,203 @@
|
|
|
|
|
<?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'),
|
|
|
|
|
'&', ('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'),
|
|
|
|
|
'&', ('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'),
|
|
|
|
|
'&', ('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>
|