Helps you manage your projects and tasks by tracking them, generating plannings, etc...
3
User
Administrator
Use Rating on Project
Use Stages on Project
Use Recurring Tasks
Use Task Dependencies
Use Milestones
Project: multi-company
['|', ('company_id', 'in', company_ids), ('company_id', '=', False)]
Project Stage: multi-company
['|', ('company_id', 'in', company_ids), ('company_id', '=', False)]
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', 'in', company_ids), ('company_id', '=', False)]
Project/Task: employees: follow required for follower-only projects
[
'|',
'&',
('project_id', '!=', False),
'|',
('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_ids', 'in', user.id)
]
Project/Task: project manager: see all tasks linked to a project or its own tasks
[
'|', ('project_id', '!=', False),
('user_ids', 'in', user.id),
]
Project/Task Type: manager sees all
[(1, '=', 1)]
Project/Task Type: see own or unowned stages
[('user_id', 'in', (False, user.id))]
Project/Task Type: write own stages
[('user_id', '=', user.id)]
Task Analysis multi-company
['|', ('company_id', 'in', company_ids), ('company_id', '=', False)]
Project: See my own personal stage
[('user_id', '=', user.id)]
Project: See private tasks
[
('project_id.privacy_visibility', '!=', 'followers'),
'|', '|', ('project_id', '!=', False),
('parent_id', '!=', False),
('user_ids', 'in', user.id),
]
Project: portal users: portal and following
[
'&',
('privacy_visibility', '=', 'portal'),
('message_partner_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
]
Project/Collaborator: portal users: can only see his own collobaroration in shared projects
[
('project_id.privacy_visibility', '=', 'portal'),
('partner_id', '=', user.partner_id.id),
]
Project/Task: portal users: (portal and following project) or (portal and following task)
[
('project_id.privacy_visibility', '=', 'portal'),
('active', '=', True),
'|',
('project_id.message_partner_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
('message_partner_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
]
Project/Task: portal users: portal user can edit with project sharing feature
0
[
('project_id.privacy_visibility', '=', 'portal'),
('active', '=', True),
'|',
('project_id.message_partner_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
('message_partner_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
('project_id.collaborator_ids.partner_id', 'in', [user.partner_id.id]),
]
Project/Updates: multi-company
['|', ('project_id.company_id', 'in', company_ids), ('project_id.company_id', '=', False)]
Project/Update: employees: follow required for follower-only projects
[
'|',
('project_id.privacy_visibility', '!=', 'followers'),
'|',
('project_id.message_partner_ids', 'in', [user.partner_id.id]),
'|',
('user_id', '=', user.id),
('project_id.user_id', '=', user.id)
]
Tasks Analysis: project visibility User
[
'|',
('project_id.privacy_visibility', '!=', 'followers'),
'|',
('project_id.message_partner_ids', 'in', [user.partner_id.id]),
'|',
('task_id.message_partner_ids', 'in', [user.partner_id.id]),
('user_ids', 'in', user.id),
]
Tasks Analysis: project visibility Manager
[(1, '=', 1)]
Project updates : Project user can see all project updates
[(1, '=', 1)]
Burndown chart: project visibility User
[
'|',
('project_id.privacy_visibility', '!=', 'followers'),
'|',
('project_id.message_partner_ids', 'in', [user.partner_id.id]),
('user_ids', 'in', user.id),
]
Burndown chart: project visibility User
[(1, '=', 1)]
Project/Milestone: multi-company
['|', ('project_id.company_id', 'in', company_ids), ('project_id.company_id', '=', False)]
Project/Milestone: employees: follow required for follower-only projects
[
'|',
('project_id.privacy_visibility', '!=', 'followers'),
'|',
('project_id.message_partner_ids', 'in', [user.partner_id.id]),
('project_id.user_id', '=', user.id),
]
Project/Milestone: Project manager can see all project milestones
[(1, '=', 1)]
Project/milestone portal users: portal user can read with project sharing feature
[
('project_id.privacy_visibility', '=', 'portal'),
('project_id.collaborator_ids.partner_id', 'in', [user.partner_id.id]),
]
Manager can manage project/task plans
[('res_model', 'in', ('project.project', 'project.task'))]
Manager can manage project/task plan templates
[('plan_id.res_model', 'in', ('project.project', 'project.task'))]