User
Manager
Time Estimation on Tasks
Use Subtask Project
Project: multi-company
['|',
('company_id', '=', False),
('company_id', 'child_of', [user.company_id.id]),
]
Project: project manager: see all
[(1, '=', 1)]
Project: employees: following required for follower-only projects
['|',
('privacy_visibility', '!=', 'followers'),
('message_partner_ids', 'in', [user.partner_id.id])
]
Project/Task: multi-company
['|',
('company_id', '=', False),
('company_id', 'child_of', [user.company_id.id]),
]
Project/Task: employees: follow required for follower-only projects
[
'|',
('project_id.privacy_visibility', '!=', 'followers'),
'|',
('project_id.message_partner_ids', 'in', [user.partner_id.id]),
'|',
('message_partner_ids', 'in', [user.partner_id.id]),
# to subscribe check access to the record, follower is not enough at creation
('user_id', '=', user.id)
]
Project/Task: project manager: see all
[(1, '=', 1)]
Task Analysis multi-company
['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]
Project: portal users: portal and following
[
'&',
('privacy_visibility', '=', 'portal'),
('message_partner_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
]
Project/Task: portal users: (portal and following project) or (portal and following task)
[
'|',
'&',
('project_id.privacy_visibility', '=', 'portal'),
('project_id.message_partner_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
'&',
('project_id.privacy_visibility', '=', 'portal'),
('message_partner_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
]