summaryrefslogtreecommitdiff
path: root/addons/project/security/project_security.xml
diff options
context:
space:
mode:
Diffstat (limited to 'addons/project/security/project_security.xml')
-rw-r--r--addons/project/security/project_security.xml49
1 files changed, 36 insertions, 13 deletions
diff --git a/addons/project/security/project_security.xml b/addons/project/security/project_security.xml
index f1d8c7e760f..4bbaa9b788e 100644
--- a/addons/project/security/project_security.xml
+++ b/addons/project/security/project_security.xml
@@ -38,39 +38,62 @@
<data noupdate="1">
<record model="ir.rule" id="project_comp_rule">
- <field name="name">Project multi-company</field>
+ <field name="name">Project: multi-company</field>
<field name="model_id" ref="model_project_project"/>
<field name="global" eval="True"/>
- <field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
+ <field name="domain_force">['|',
+ ('company_id', '=', False),
+ ('company_id', 'child_of', [user.company_id.id]),
+ ]</field>
+ </record>
+
+ <record model="ir.rule" id="project_project_manager_rule">
+ <field name="name">Project: project manager: see all</field>
+ <field name="model_id" ref="model_project_project"/>
+ <field name="domain_force">[(1, '=', 1)]</field>
+ <field name="groups" eval="[(4,ref('project.group_project_manager'))]"/>
</record>
<record model="ir.rule" id="project_public_members_rule">
- <field name="name">Public Members</field>
+ <field name="name">Project: employees: public, employees or followers</field>
<field name="model_id" ref="model_project_project"/>
- <field name="global" eval="True"/>
- <field name="domain_force">['|',('privacy_visibility','in',[False,'public']),('message_follower_ids','in',[user.partner_id.id])]</field>
+ <field name="domain_force">['|',
+ ('privacy_visibility', 'in', ['public', 'employees']),
+ ('message_follower_ids', 'in', [user.partner_id.id])
+ ]</field>
+ <field name="groups" eval="[(4, ref('base.group_user'))]"/>
</record>
<record model="ir.rule" id="task_comp_rule">
- <field name="name" >Task multi-company</field>
+ <field name="name">Project/Task: multi-company</field>
<field name="model_id" ref="model_project_task"/>
<field name="global" eval="True"/>
- <field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
+ <field name="domain_force">['|',
+ ('company_id', '=', False),
+ ('company_id', 'child_of', [user.company_id.id]),
+ ]</field>
</record>
<record model="ir.rule" id="task_visibility_rule">
- <field name="name" >Tasks According to User and Project</field>
+ <field name="name">Project/Task: employees: public or employee or following or assigned</field>
<field name="model_id" ref="model_project_task"/>
- <field name="global" eval="True"/>
- <field name="domain_force">['|','|','|',('user_id','=',False),('user_id','=',user.id),('project_id.members','in', [user.id]),('project_id.user_id','=',user.id)]</field>
- <field name="groups" eval="[(4,ref('project.group_project_user'))]"/>
+ <field name="domain_force">['|',
+ ('user_id', '=', user.id),
+ '|',
+ ('project_id.privacy_visibility', 'in', ['public', 'employees']),
+ '&amp;',
+ ('project_id.privacy_visibility', '=', 'followers'),
+ ('message_follower_ids', 'in', [user.partner_id.id]),
+ ]</field>
+ <field name="groups" eval="[(4,ref('base.group_user'))]"/>
</record>
<record model="ir.rule" id="project_manager_all_project_tasks_rule">
- <field name="name">Project Managers: all tasks from all projects</field>
+ <field name="name">Project/Task: project manager: see all</field>
<field name="model_id" ref="model_project_task"/>
- <field name="domain_force">[(1,'=',1)]</field>
+ <field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4,ref('project.group_project_manager'))]"/>
</record>
+
</data>
</openerp>