mirror of
https://github.com/bringout/oca-ocb-project.git
synced 2026-04-19 23:41:59 +02:00
19.0 vanilla
This commit is contained in:
parent
a2f74aefd8
commit
4a4d12c333
844 changed files with 212348 additions and 270090 deletions
|
|
@ -8,7 +8,7 @@ access_project_task_type_project_user,project.task.type.project.user,model_proje
|
|||
access_project_task_type_manager,project.task.type manager,model_project_task_type,project.group_project_manager,1,1,1,1
|
||||
access_project_task_type_portal,task_type_portal,project.model_project_task_type,base.group_portal,1,0,0,0
|
||||
access_project_task,project.task,model_project_task,project.group_project_user,1,1,1,1
|
||||
access_report_project_task_user,report.project.task.user,model_report_project_task_user,project.group_project_manager,1,1,1,1
|
||||
access_report_project_task_user,report.project.task.user,model_report_project_task_user,project.group_project_manager,1,0,0,0
|
||||
access_report_project_task_user_project_user,report.project.task.user.project.user,model_report_project_task_user,project.group_project_user,1,0,0,0
|
||||
access_partner_task_user,base.res.partner user,base.model_res_partner,project.group_project_user,1,0,0,0
|
||||
access_task_on_partner,project.task on partners,model_project_task,base.group_user,1,0,0,0
|
||||
|
|
@ -18,7 +18,7 @@ access_project_portal,project_portal,project.model_project_project,base.group_po
|
|||
access_resource_calendar,project.resource_calendar user,resource.model_resource_calendar,project.group_project_user,1,0,0,0
|
||||
access_resource_calendar_attendance,project.resource_calendar_attendance user,resource.model_resource_calendar_attendance,project.group_project_user,1,0,0,0
|
||||
access_resource_calendar_leaves_user,resource.calendar.leaves user,resource.model_resource_calendar_leaves,project.group_project_user,1,1,1,1
|
||||
access_project_tags_all,project.project_tags_all,model_project_tags,,1,0,0,0
|
||||
access_project_tags_all,project.project_tags_all,model_project_tags,base.group_user,1,0,0,0
|
||||
access_project_tags_manager,project.project_tags_manager,model_project_tags,project.group_project_manager,1,1,1,1
|
||||
access_project_tags_portal,project_tags_portal,project.model_project_tags,base.group_portal,1,0,0,0
|
||||
access_mail_activity_type_project_manager,mail.activity.type.project.manager,mail.model_mail_activity_type,project.group_project_manager,1,1,1,1
|
||||
|
|
@ -26,6 +26,7 @@ access_account_analytic_account_user,account.analytic.account,analytic.model_acc
|
|||
access_account_analytic_account_manager,account.analytic.account,analytic.model_account_analytic_account,project.group_project_manager,1,1,1,1
|
||||
access_account_analytic_line_project,account.analytic.line project,analytic.model_account_analytic_line,project.group_project_manager,1,1,1,1
|
||||
access_project_task_type_delete_wizard,project.task.type.delete.wizard,model_project_task_type_delete_wizard,project.group_project_manager,1,1,1,1
|
||||
access_project_project_stage_delete_wizard,project.project.stage.delete.wizard,model_project_project_stage_delete_wizard,project.group_project_manager,1,1,1,1
|
||||
access_project_task_recurrence,project.task.recurrence,model_project_task_recurrence,project.group_project_user,1,1,1,1
|
||||
project.access_project_task_burndown_chart_report,access_project_task_burndown_chart_report,project.model_project_task_burndown_chart_report,project.group_project_manager,1,1,1,1
|
||||
project.access_project_task_burndown_chart_report_user,access_project_task_burndown_chart_report_user,project.model_project_task_burndown_chart_report,project.group_project_user,1,0,0,0
|
||||
|
|
@ -41,4 +42,15 @@ access_project_collaborator_manager,project.collaborator.manager,model_project_c
|
|||
access_project_collaborator_user,project.collaborator.user,model_project_collaborator,project.group_project_user,1,0,0,0
|
||||
access_project_collaborator_portal,project.collaborator.portal,model_project_collaborator,base.group_portal,1,0,0,0
|
||||
access_project_share_manager,project.share.wizard.manager,model_project_share_wizard,project.group_project_manager,1,1,1,0
|
||||
access_project_task_share_manager,project.task.share.wizard.manager,model_task_share_wizard,project.group_project_manager,1,1,1,0
|
||||
access_project_task_share_user,project.task.share.wizard.user,model_task_share_wizard,base.group_partner_manager,1,1,1,0
|
||||
access_project_share_collaborator_manager,project.share.collaborator.wizard.manager,model_project_share_collaborator_wizard,project.group_project_manager,1,1,1,1
|
||||
access_project_personal_stage,project.personal.stage.user,model_project_task_stage_personal,base.group_user,1,1,1,1
|
||||
access_mail_activity_plan_project_manager,mail.activity.plan.project.manager,mail.model_mail_activity_plan,project.group_project_manager,1,1,1,1
|
||||
access_mail_activity_plan_template_project_manager,mail.activity.plan.template.project.manager,mail.model_mail_activity_plan_template,project.group_project_manager,1,1,1,1
|
||||
access_project_template_create_wizard_user,project.template.create.wizard.user,project.model_project_template_create_wizard,project.group_project_user,1,1,0,0
|
||||
access_project_template_create_wizard_manager,project.template.create.wizard.manager,project.model_project_template_create_wizard,project.group_project_manager,1,1,1,1
|
||||
access_project_template_role_to_users_map_user,project.template.role.to.users.map.user,project.model_project_template_role_to_users_map,project.group_project_user,1,1,0,0
|
||||
access_project_template_role_to_users_map_manager,project.template.role.to.users.map.manager,project.model_project_template_role_to_users_map,project.group_project_manager,1,1,1,1
|
||||
access_project_role_user,project.role.user,model_project_role,project.group_project_user,1,0,0,0
|
||||
access_project_role_manager,project.role.manager,model_project_role,project.group_project_manager,1,1,1,1
|
||||
|
|
|
|||
|
|
|
@ -1,63 +1,57 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<record id="base.module_category_services_project" model="ir.module.category">
|
||||
<field name="description">Helps you manage your projects and tasks by tracking them, generating plannings, etc...</field>
|
||||
<record model="res.groups.privilege" id="res_groups_privilege_project">
|
||||
<field name="name">Project</field>
|
||||
<field name="sequence">3</field>
|
||||
<field name="category_id" ref="base.module_category_services"/>
|
||||
</record>
|
||||
|
||||
<record id="group_project_user" model="res.groups">
|
||||
<field name="name">User</field>
|
||||
<field name="comment">User can user the your employees' schedule</field>
|
||||
<field name="sequence">10</field>
|
||||
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
|
||||
<field name="category_id" ref="base.module_category_services_project"/>
|
||||
<field name="privilege_id" ref="res_groups_privilege_project"/>
|
||||
</record>
|
||||
|
||||
<record id="group_project_manager" model="res.groups">
|
||||
<field name="name">Administrator</field>
|
||||
<field name="category_id" ref="base.module_category_services_project"/>
|
||||
<field name="implied_ids" eval="[(4, ref('group_project_user'))]"/>
|
||||
<field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="group_subtask_project" model="res.groups">
|
||||
<field name="name">Use Subtasks</field>
|
||||
<field name="category_id" ref="base.module_category_hidden"/>
|
||||
</record>
|
||||
|
||||
<record id="group_project_rating" model="res.groups">
|
||||
<field name="name">Use Rating on Project</field>
|
||||
<field name="category_id" ref="base.module_category_hidden"/>
|
||||
<field name="comment">Administrator can manage the employees' schedule</field>
|
||||
<field name="sequence">20</field>
|
||||
<field name="privilege_id" ref="res_groups_privilege_project"/>
|
||||
<field name="implied_ids" eval="[(4, ref('project.group_project_user')), (4, ref('mail.group_mail_canned_response_admin'))]"/>
|
||||
<field name="user_ids" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="group_project_stages" model="res.groups">
|
||||
<field name="name">Use Stages on Project</field>
|
||||
<field name="category_id" ref="base.module_category_hidden"/>
|
||||
</record>
|
||||
|
||||
<record id="group_project_recurring_tasks" model="res.groups">
|
||||
<field name="name">Use Recurring Tasks</field>
|
||||
<field name="category_id" ref="base.module_category_hidden"/>
|
||||
</record>
|
||||
|
||||
<record id="group_project_task_dependencies" model="res.groups">
|
||||
<field name="name">Use Task Dependencies</field>
|
||||
<field name="category_id" ref="base.module_category_hidden"/>
|
||||
</record>
|
||||
|
||||
<record id="group_project_milestone" model="res.groups">
|
||||
<field name="name">Use Milestones</field>
|
||||
<field name="category_id" ref="base.module_category_hidden"/>
|
||||
</record>
|
||||
|
||||
<data noupdate="1">
|
||||
<record id="base.default_user" model="res.users">
|
||||
<field name="groups_id" eval="[(4,ref('project.group_project_manager'))]"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.rule" id="project_comp_rule">
|
||||
<field name="name">Project: multi-company</field>
|
||||
<field name="model_id" ref="model_project_project"/>
|
||||
<field name="domain_force">[('company_id', 'in', company_ids)]</field>
|
||||
<field name="domain_force">[('company_id', 'in', company_ids + [False])]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.rule" id="project_project_stage_rule">
|
||||
<field name="name">Project Stage: multi-company</field>
|
||||
<field name="model_id" ref="model_project_project_stage"/>
|
||||
<field name="domain_force">[('company_id', 'in', company_ids + [False])]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.rule" id="project_project_manager_rule">
|
||||
|
|
@ -71,7 +65,7 @@
|
|||
<field name="name">Project: employees: following required for follower-only projects</field>
|
||||
<field name="model_id" ref="model_project_project"/>
|
||||
<field name="domain_force">['|',
|
||||
('privacy_visibility', '!=', 'followers'),
|
||||
('privacy_visibility', 'in', ['employees', 'portal']),
|
||||
('message_partner_ids', 'in', [user.partner_id.id])
|
||||
]</field>
|
||||
<field name="groups" eval="[(4, ref('base.group_user'))]"/>
|
||||
|
|
@ -80,18 +74,21 @@
|
|||
<record model="ir.rule" id="task_comp_rule">
|
||||
<field name="name">Project/Task: multi-company</field>
|
||||
<field name="model_id" ref="model_project_task"/>
|
||||
<field name="domain_force">[('company_id', 'in', company_ids)]</field>
|
||||
<field name="domain_force">[('company_id', 'in', company_ids + [False])]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.rule" id="task_visibility_rule">
|
||||
<field name="name">Project/Task: employees: follow required for follower-only projects</field>
|
||||
<field name="model_id" ref="model_project_task"/>
|
||||
<field name="perm_write" eval="False"/>
|
||||
<field name="perm_create" eval="False"/>
|
||||
<field name="perm_unlink" eval="False"/>
|
||||
<field name="domain_force">[
|
||||
'|',
|
||||
'&',
|
||||
('project_id', '!=', False),
|
||||
'|',
|
||||
('project_id.privacy_visibility', '!=', 'followers'),
|
||||
('project_id.privacy_visibility', 'in', ['employees', 'portal']),
|
||||
('project_id.message_partner_ids', 'in', [user.partner_id.id]),
|
||||
'|',
|
||||
('message_partner_ids', 'in', [user.partner_id.id]),
|
||||
|
|
@ -138,7 +135,7 @@
|
|||
<record model="ir.rule" id="report_project_task_user_report_comp_rule">
|
||||
<field name="name">Task Analysis multi-company</field>
|
||||
<field name="model_id" ref="model_report_project_task_user"/>
|
||||
<field name="domain_force">[('company_id', 'in', company_ids)]</field>
|
||||
<field name="domain_force">[('company_id', 'in', company_ids + [False])]</field>
|
||||
</record>
|
||||
|
||||
<record id="ir_rule_project_personal_stage_my" model="ir.rule">
|
||||
|
|
@ -147,11 +144,30 @@
|
|||
<field name="domain_force">[('user_id', '=', user.id)]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.rule" id="task_visibility_rule_project_user">
|
||||
<field name="name">Project/Task: project users: follow required for follower-only projects</field>
|
||||
<field name="model_id" ref="model_project_task"/>
|
||||
<field name="perm_read" eval="False"/>
|
||||
<field name="domain_force">[
|
||||
'|',
|
||||
'&',
|
||||
('project_id', '!=', False),
|
||||
'|',
|
||||
('project_id.privacy_visibility', 'in', ['employees', 'portal']),
|
||||
('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)
|
||||
]</field>
|
||||
<field name="groups" eval="[(4,ref('project.group_project_user'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="ir_rule_private_task" model="ir.rule">
|
||||
<field name="name">Project: See private tasks</field>
|
||||
<field name="model_id" ref="project.model_project_task"/>
|
||||
<field name="domain_force">[
|
||||
('project_id.privacy_visibility', '!=', 'followers'),
|
||||
('project_id.privacy_visibility', 'in', ['employees', 'portal']),
|
||||
'|', '|', ('project_id', '!=', False),
|
||||
('parent_id', '!=', False),
|
||||
('user_ids', 'in', user.id),
|
||||
|
|
@ -165,7 +181,7 @@
|
|||
<field name="model_id" ref="project.model_project_project"/>
|
||||
<field name="domain_force">[
|
||||
'&',
|
||||
('privacy_visibility', '=', 'portal'),
|
||||
('privacy_visibility', 'in', ['invited_users', 'portal']),
|
||||
('message_partner_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
|
||||
]</field>
|
||||
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
|
||||
|
|
@ -175,21 +191,24 @@
|
|||
<field name="name">Project/Collaborator: portal users: can only see his own collobaroration in shared projects</field>
|
||||
<field name="model_id" ref="project.model_project_collaborator"/>
|
||||
<field name="domain_force">[
|
||||
('project_id.privacy_visibility', '=', 'portal'),
|
||||
('project_id.privacy_visibility', 'in', ['invited_users', 'portal']),
|
||||
('partner_id', '=', user.partner_id.id),
|
||||
]</field>
|
||||
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="project_task_rule_portal" model="ir.rule">
|
||||
<field name="name">Project/Task: portal users: (portal and following project) or (portal and following task)</field>
|
||||
<field name="name">Project/Task: portal users: can only see a task if he's a collaborator of the project and a follower of the task</field>
|
||||
<field name="model_id" ref="project.model_project_task"/>
|
||||
<field name="domain_force">[
|
||||
('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.privacy_visibility', 'in', ['invited_users', 'portal']),
|
||||
('active', '=', True),
|
||||
'|',
|
||||
('message_partner_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
|
||||
('project_id.collaborator_ids', 'any', [
|
||||
('partner_id', '=', user.partner_id.id),
|
||||
('limited_access', '=', False),
|
||||
]),
|
||||
]</field>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="False"/>
|
||||
|
|
@ -203,12 +222,16 @@
|
|||
<field name="model_id" ref="project.model_project_task"/>
|
||||
<field name="active">0</field>
|
||||
<field name="domain_force">[
|
||||
('project_id.privacy_visibility', '=', 'portal'),
|
||||
('project_id.privacy_visibility', 'in', ['invited_users', '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]),
|
||||
'&',
|
||||
('message_partner_ids', 'child_of', [user.partner_id.commercial_partner_id.id]),
|
||||
('project_id.collaborator_ids.partner_id', 'in', [user.partner_id.id]),
|
||||
('project_id.collaborator_ids', 'any', [
|
||||
('partner_id', '=', user.partner_id.id),
|
||||
('limited_access', '=', False),
|
||||
]),
|
||||
]</field>
|
||||
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
|
||||
<field name="perm_read" eval="False"/>
|
||||
|
|
@ -220,7 +243,7 @@
|
|||
<record model="ir.rule" id="update_comp_rule">
|
||||
<field name="name">Project/Updates: multi-company</field>
|
||||
<field name="model_id" ref="model_project_update"/>
|
||||
<field name="domain_force">[('project_id.company_id', 'in', company_ids)]</field>
|
||||
<field name="domain_force">['|', ('project_id.company_id', 'in', company_ids), ('project_id.company_id', '=', False)]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.rule" id="update_visibility_rule">
|
||||
|
|
@ -228,7 +251,7 @@
|
|||
<field name="model_id" ref="model_project_update"/>
|
||||
<field name="domain_force">[
|
||||
'|',
|
||||
('project_id.privacy_visibility', '!=', 'followers'),
|
||||
('project_id.privacy_visibility', 'in', ['employees', 'portal']),
|
||||
'|',
|
||||
('project_id.message_partner_ids', 'in', [user.partner_id.id]),
|
||||
'|',
|
||||
|
|
@ -243,7 +266,7 @@
|
|||
<field name="model_id" ref="model_report_project_task_user"/>
|
||||
<field name="domain_force">[
|
||||
'|',
|
||||
('project_id.privacy_visibility', '!=', 'followers'),
|
||||
('project_id.privacy_visibility', 'in', ['employees', 'portal']),
|
||||
'|',
|
||||
('project_id.message_partner_ids', 'in', [user.partner_id.id]),
|
||||
'|',
|
||||
|
|
@ -272,7 +295,7 @@
|
|||
<field name="model_id" ref="model_project_task_burndown_chart_report"/>
|
||||
<field name="domain_force">[
|
||||
'|',
|
||||
('project_id.privacy_visibility', '!=', 'followers'),
|
||||
('project_id.privacy_visibility', 'in', ['employees', 'portal']),
|
||||
'|',
|
||||
('project_id.message_partner_ids', 'in', [user.partner_id.id]),
|
||||
('user_ids', 'in', user.id),
|
||||
|
|
@ -290,7 +313,7 @@
|
|||
<record model="ir.rule" id="milestone_comp_rule">
|
||||
<field name="name">Project/Milestone: multi-company</field>
|
||||
<field name="model_id" ref="model_project_milestone"/>
|
||||
<field name="domain_force">[('project_id.company_id', 'in', company_ids)]</field>
|
||||
<field name="domain_force">['|', ('project_id.company_id', 'in', company_ids), ('project_id.company_id', '=', False)]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.rule" id="milestone_visibility_rule">
|
||||
|
|
@ -298,7 +321,7 @@
|
|||
<field name="model_id" ref="model_project_milestone"/>
|
||||
<field name="domain_force">[
|
||||
'|',
|
||||
('project_id.privacy_visibility', '!=', 'followers'),
|
||||
('project_id.privacy_visibility', 'in', ['employees', 'portal']),
|
||||
'|',
|
||||
('project_id.message_partner_ids', 'in', [user.partner_id.id]),
|
||||
('project_id.user_id', '=', user.id),
|
||||
|
|
@ -317,10 +340,27 @@
|
|||
<field name="name">Project/milestone portal users: portal user can read with project sharing feature</field>
|
||||
<field name="model_id" ref="project.model_project_milestone"/>
|
||||
<field name="domain_force">[
|
||||
('project_id.privacy_visibility', '=', 'portal'),
|
||||
('project_id.privacy_visibility', 'in', ['invited_users', 'portal']),
|
||||
('project_id.collaborator_ids.partner_id', 'in', [user.partner_id.id]),
|
||||
]</field>
|
||||
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="mail_plan_rule_group_project_manager_task" model="ir.rule">
|
||||
<field name="name">Manager can manage project/task plans</field>
|
||||
<field name="groups" eval="[(4, ref('group_project_manager'))]"/>
|
||||
<field name="model_id" ref="mail.model_mail_activity_plan"/>
|
||||
<field name="domain_force">[('res_model', 'in', ('project.project', 'project.task'))]</field>
|
||||
<field name="perm_read" eval="False"/>
|
||||
</record>
|
||||
|
||||
<record id="mail_plan_templates_rule_group_project_manager_task" model="ir.rule">
|
||||
<field name="name">Manager can manage project/task plan templates</field>
|
||||
<field name="groups" eval="[(4, ref('group_project_manager'))]"/>
|
||||
<field name="model_id" ref="mail.model_mail_activity_plan_template"/>
|
||||
<field name="domain_force">[('plan_id.res_model', 'in', ('project.project', 'project.task'))]</field>
|
||||
<field name="perm_read" eval="False"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue