You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
5.0 KiB
102 lines
5.0 KiB
<odoo>
|
|
<!-- Define a module category for Document Management -->
|
|
<record id="module_document_module" model="ir.module.category">
|
|
<field name="name">Document Management</field>
|
|
<field name="description">Access for Document module</field>
|
|
<field name="sequence">50</field>
|
|
</record>
|
|
<!-- Define a group 'User' -->
|
|
<record id="view_own_document" model="res.groups">
|
|
<field name="name">User</field>
|
|
<field name="category_id" ref="module_document_module"/>
|
|
</record>
|
|
<!-- Define a group 'Manager' with implied 'User' group and associated users -->
|
|
<record id="view_all_document" model="res.groups">
|
|
<field name="name">Manager</field>
|
|
<field name="category_id" ref="module_document_module"/>
|
|
<field name="implied_ids" eval="[(4, ref('view_own_document'))]"/>
|
|
<field name="users" eval="[(4, ref('base.user_admin'))]"/>
|
|
</record>
|
|
<!-- Define an access rule 'Document Manager' -->
|
|
<record id="document_workspace_rule_manager" model="ir.rule">
|
|
<field name="name">Document Manager</field>
|
|
<field name="model_id" ref="model_document_workspace"/>
|
|
<field name="domain_force">['|',('privacy_visibility', '=',
|
|
'followers'), ('privacy_visibility', '=', 'employees')]
|
|
</field>
|
|
<field name="groups" eval="[(4, ref('view_all_document'))]"/>
|
|
<field name="perm_read" eval="True"/>
|
|
<field name="perm_write" eval="True"/>
|
|
<field name="perm_create" eval="True"/>
|
|
<field name="perm_unlink" eval="True"/>
|
|
<field name="active" eval="True"/>
|
|
</record>
|
|
<!-- Define an access rule 'View visible Workspace' -->
|
|
<record id="document_workspace_rule_own" model="ir.rule">
|
|
<field name="name">View visible Workspace</field>
|
|
<field name="model_id" ref="model_document_workspace"/>
|
|
<field name="domain_force">['|',('privacy_visibility', '=',
|
|
'employees'),('message_partner_ids', 'in', [user.partner_id.id])]
|
|
</field>
|
|
<field name="groups" eval="[(4, ref('view_own_document'))]"/>
|
|
<field name="perm_read" eval="True"/>
|
|
<field name="perm_write" eval="True"/>
|
|
<field name="perm_create" eval="True"/>
|
|
<field name="perm_unlink" eval="False"/>
|
|
<field name="active" eval="True"/>
|
|
</record>
|
|
<!-- Define an access rule 'Document File Visibility' -->
|
|
<record id="document_file_rule_visibility" model="ir.rule">
|
|
<field name="name">Document File Visibility</field>
|
|
<field name="model_id" ref="model_document_file"/>
|
|
<field name="domain_force">['|',('workspace_id.privacy_visibility',
|
|
'=', 'employees'),('workspace_id.message_partner_ids', 'in',
|
|
[user.partner_id.id])]
|
|
</field>
|
|
<field name="groups" eval="[(4, ref('view_own_document'))]"/>
|
|
<field name="perm_read" eval="True"/>
|
|
<field name="perm_write" eval="True"/>
|
|
<field name="perm_create" eval="True"/>
|
|
<field name="perm_unlink" eval="False"/>
|
|
<field name="active" eval="True"/>
|
|
</record>
|
|
<!-- Define an access rule 'View Own Request' -->
|
|
<record id="request_document_rule_own" model="ir.rule">
|
|
<field name="name">View Own Request</field>
|
|
<field name="model_id" ref="model_request_document"/>
|
|
<field name="domain_force">
|
|
['|',('requested_by_id', '=', user.id),
|
|
('user_id', '=', user.id)]
|
|
</field>
|
|
<field name="groups" eval="[(4, ref('view_own_document'))]"/>
|
|
<field name="perm_read" eval="True"/>
|
|
<field name="perm_write" eval="True"/>
|
|
<field name="perm_create" eval="True"/>
|
|
<field name="perm_unlink" eval="True"/>
|
|
<field name="active" eval="True"/>
|
|
</record>
|
|
<!-- Define an access rule 'View All Request' -->
|
|
<record id="request_document_rule_all" model="ir.rule">
|
|
<field name="name">View All Request</field>
|
|
<field name="model_id" ref="model_request_document"/>
|
|
<field name="domain_force">[(1, '=', 1)]</field>
|
|
<field name="groups" eval="[(4, ref('view_all_document'))]"/>
|
|
<field name="perm_read" eval="True"/>
|
|
<field name="perm_write" eval="True"/>
|
|
<field name="perm_create" eval="True"/>
|
|
<field name="perm_unlink" eval="True"/>
|
|
<field name="active" eval="True"/>
|
|
</record>
|
|
<!-- Set default groups for the base.default_user -->
|
|
<record id="base.default_user" model="res.users">
|
|
<field name="groups_id"
|
|
eval="[(4,ref('enhanced_document_management.view_own_document'))]"/>
|
|
</record>
|
|
<!-- Access rule for document templates based on multi-company settings.-->
|
|
<record id="document_request_template_rule_comp" model="ir.rule">
|
|
<field name="name">Document template multi-company</field>
|
|
<field name="model_id" ref="model_document_request_template"/>
|
|
<field name="domain_force">['|', ('company_id', 'parent_of', company_ids), ('company_id', '=', False)]
|
|
</field>
|
|
</record>
|
|
</odoo>
|