1 <?xml version="1.0" encoding="utf-8"?>
5 <record model="ir.rule" id="project.project_public_members_rule">
6 <field name="name">Project: employees: public, portal, employees or following</field>
7 <field name="domain_force">['|',
8 ('privacy_visibility', 'in', ['public', 'portal', 'employees']),
10 ('privacy_visibility', '=', 'followers'),
11 ('message_follower_ids', 'in', [user.partner_id.id]),
13 <field name="groups" eval="[(4, ref('base.group_user'))]"/>
16 <record id="portal_project_rule" model="ir.rule">
17 <field name="name">Project: portal users: public, portal or following</field>
18 <field name="model_id" ref="project.model_project_project"/>
19 <field name="domain_force">[
22 ('privacy_visibility', '=', 'public'),
24 ('privacy_visibility', '=', 'portal'),
25 ('message_follower_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
27 ('privacy_visibility', '=', 'followers'),
28 ('message_follower_ids', 'in', [user.partner_id.id])
30 <field name="groups" eval="[(4, ref('base.group_portal'))]"/>
33 <record model="ir.rule" id="project_public_rule">
34 <field name="name">Project: public users: public only</field>
35 <field name="model_id" ref="project.model_project_project"/>
36 <field name="domain_force">[('privacy_visibility', '=', 'public')]</field>
37 <field name="groups" eval="[(4, ref('base.group_public'))]"/>
40 <record model="ir.rule" id="project.task_visibility_rule">
41 <field name="name">Project/Task: employees: public, portal, employee or (followers and following)</field>
42 <field name="domain_force">[
44 ('project_id.privacy_visibility', 'in', ['public', 'portal', 'employees']),
47 ('project_id.privacy_visibility', '=', 'followers'),
48 ('project_id.message_follower_ids', 'in', [user.partner_id.id]),
50 ('message_follower_ids', 'in', [user.partner_id.id]),
51 ('user_id', '=', user.id)
55 <record id="portal_task_rule" model="ir.rule">
56 <field name="name">Project/Task: portal users: public or (portal and colleagues following) or (followers and following)</field>
57 <field name="model_id" ref="project.model_project_task"/>
58 <field name="domain_force">[
62 ('project_id.privacy_visibility', '=', 'public'),
64 ('project_id.privacy_visibility', '=', 'portal'),
65 ('project_id.message_follower_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
67 ('project_id.privacy_visibility', '=', 'followers'),
68 ('project_id.message_follower_ids', 'in', [user.partner_id.id]),
70 # on employee project can receive messages but not access the object
71 ('project_id.privacy_visibility', '!=', 'employees'),
72 ('message_follower_ids', 'in', [user.partner_id.id])
74 <field name="groups" eval="[(4, ref('base.group_portal'))]"/>
77 <record model="ir.rule" id="task_public_rule">
78 <field name="name">Project/Task: public users: public only</field>
79 <field name="model_id" ref="project.model_project_task"/>
80 <field name="domain_force">[('project_id.privacy_visibility', '=', 'public')]</field>
81 <field name="groups" eval="[(4, ref('base.group_public'))]"/>