odex25_standard/odex25_project/project_base/security/project_security.xml

158 lines
7.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<!-- Project Group -->
<record id="group_project_department_manager" model="res.groups">
<field name="name">PMO</field>
<field name="implied_ids" eval="[(4, ref('project.group_project_manager'))]"/>
<field name="category_id" ref="base.module_category_services_project"/>
</record>
<!-- configration multi company rule -->
<record id="project_task_type_multi_company_rule" model="ir.rule">
<field name="name">Project Task Type multi company rule</field>
<field name="model_id" ref="model_project_task_type"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record id="project_category_multi_company_rule" model="ir.rule">
<field name="name">project category multi company rule</field>
<field name="model_id" ref="model_project_category"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record id="project_hold_reason_multi_company_rule" model="ir.rule">
<field name="name">project hold reason multi company rule</field>
<field name="model_id" ref="model_project_hold_reason"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<!-- TODO:Review Delete Unneeded rules -->
<delete model="ir.rule" id="project.project_project_manager_rule"/>
<delete model="ir.rule" id="project.project_public_members_rule"/>
<delete model="ir.rule" id="project.project_manager_all_project_tasks_rule"/>
<!-- project rules -->
<record id="project_manager_rule" model="ir.rule">
<field name="name">Project Manager rule</field>
<field name="model_id" ref="model_project_project"/>
<field name="groups" eval="[(4, ref('project.group_project_manager'))]"/>
<field name="domain_force">[('user_id','=', user.id)]</field>
</record>
<record id="project_department_manager_rule" model="ir.rule">
<field name="name">Project PMO rule</field>
<field name="model_id" ref="model_project_project"/>
<field name="groups" eval="[(4, ref('project_base.group_project_department_manager'))]"/>
<field name="domain_force">[(1, '=', 1)]</field>
</record>
<!-- TODO:Review edit base on new team model
<record id="rule_team_member_project" model="ir.rule">
<field name="name">Project Team Member</field>
<field name="model_id" ref="model_project_project"/>
<field name="domain_force">['|',('employee_ids.user_id','in',
[user.id]),'|',('resource_allocation_line_ids.employee_id.user_id','in',[user.id]),('dummy_project','=',True)]
</field>
<field name="groups" eval="[(4, ref('base.group_user'))]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_unlink" eval="False"/>
<field name="perm_create" eval="False"/>
</record>-->
<!--Stage rules -->
<record id="project_stage_multi_company_rule" model="ir.rule">
<field name="name">Project stage Multi Company rule</field>
<field name="model_id" ref="model_project_phase"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id', '=',False),('company_id', 'in', company_ids)]</field>
</record>
<!-- TODO:Review sub-project stages -->
<record id="project_phase_manager_rule" model="ir.rule">
<field name="name">Project Phase Manager rule</field>
<field name="model_id" ref="model_project_phase"/>
<field name="groups" eval="[(4, ref('project.group_project_manager'))]"/>
<field name="domain_force">[('project_id.user_id','=', user.id)]</field>
</record>
<record id="project_phase_department_rule" model="ir.rule">
<field name="name">Phase PMO rule</field>
<field name="model_id" ref="model_project_phase"/>
<field name="groups" eval="[(4, ref('project_base.group_project_department_manager'))]"/>
<field name="domain_force">[(1, '=', 1)]</field>
</record>
<!-- TODO:Review team member phase rule
<record id="rule_team_member_project_phase" model="ir.rule">
<field name="name">Project Stage Team Member</field>
<field name="model_id" ref="model_project_phase"/>
<field name="domain_force">[('department_ids','in', [user.department_id.id])]
</field>
<field name="groups" eval="[(4, ref('base.group_user'))]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_unlink" eval="False"/>
<field name="perm_create" eval="False"/>
</record>-->
<!-- Project Tasks Rule -->
<!-- TODO:Review get also the flower of the tasks-->
<record model="ir.rule" id="project.task_visibility_rule">
<field name="domain_force">[('user_id','=',user.id)]</field>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_unlink" eval="True"/>
<field name="perm_create" eval="True"/>
</record>
<!-- TODO:Review sub-project-->
<record model="ir.rule" id="project_manager_project_tasks_rule">
<field name="name">Project/Task: project manager: see his project tasks</field>
<field name="model_id" ref="model_project_task"/>
<field name="domain_force">[('project_id.user_id','in',[user.id])]</field>
<field name="groups" eval="[(4,ref('project.group_project_manager'))]"/>
</record>
<record id="task_project_department_manager" model="ir.rule">
<field name="name">Task PMO rule</field>
<field name="model_id" ref="model_project_task"/>
<field name="groups" eval="[(4, ref('project_base.group_project_department_manager'))]"/>
<field name="domain_force">[(1, '=', 1)]</field>
</record>
<!-- Project invoice rules -->
<record id="project_invoice_multi_company_rule" model="ir.rule">
<field name="name">Project Invoice Multi Company rule</field>
<field name="model_id" ref="model_project_invoice"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id', '=',False),('company_id', 'in', company_ids)]</field>
</record>
<record model="ir.rule" id="project_manager_invoice_request_rule">
<field name="name">Invoice Request Project Manager</field>
<field name="model_id" ref="model_project_invoice"/>
<field name="domain_force">[('project_id.user_id','in',[user.id])]</field>
<field name="groups" eval="[(4, ref('project.group_project_manager'))]"/>
</record>
<record model="ir.rule" id="department_manager_invoice_request_rule">
<field name="name">Project Invoice PMO rule</field>
<field name="model_id" ref="model_project_invoice"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('project_base.group_project_department_manager'))]"/>
</record>
<record model="ir.rule" id="project_invoice_group_account_manager_rule">
<field name="name">Invoice Request account manager: see all</field>
<field name="model_id" ref="model_project_invoice"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('account.group_account_manager'))]"/>
</record>
</data>
</odoo>