Files
odoo_source/addons/project/security/ir.model.access.csv
T
damr 77b5499b4e [FIX] project: give read access on milestone to portal user
This commit's purpose is to give back to the portal user the access
rigth to read on the model project.milestone. This access was removed
because it was judge that it was not needed to give access to portal
user to an entire model. The issue it created is that while the name_get
still works, it is no longer possible to do a search on the milestone
field on the portal sharing

step to reproduce :
- install db with project and demo data
- log in with mitchel admin
- open the project app
- click on the 'share' option of the deco addict project
- select 'edit' and type 'joel' in the partner section. Select the
suggested portal user 'my company joel willis'
- click on 'send invitation'
- log out and log in with the portal user
- select the project menu
- click on the shared project 'deco addict'
- start typing in the search bar and select the 'milestone' option

An access right error is raised.

source of the issue :
The name_search function is not executed in sudo and since the
portal user has no read access on the project.milestone model,
an access right error is raised.

Solution :
Give the read access to the project.milestone model to portal user.
Ideally, that is something we'd like to avoid, but since the other
option is to execute the name_search in sudo, giving read access is the
better option. An ir.rule was also added to ensure that the portal user
has only access to the milestone linked to his shared project. A local
script was added, and the version of the manifest was changed in order
to trigger the script when the module is updated.
Some tests were added.

affected version 16.0 -> 17.0 (another fix will be applied in master)
ticket -
https://www.odoo.com/web#id=3548142&cids=1&model=project.task&view_type=form

closes odoo/odoo#144525

X-original-commit: d74a6ca46d208fbbe5142bcbb39d8985ee1e1f23
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-12-01 21:10:54 +00:00

5.6 KiB

1idnamemodel_id:idgroup_id:idperm_readperm_writeperm_createperm_unlink
2access_project_projectproject.projectmodel_project_projectproject.group_project_user1000
3access_project_project_managerproject.projectmodel_project_projectproject.group_project_manager1111
4access_project_project_stageproject.project_stagemodel_project_project_stagebase.group_user1000
5access_project_project_stage_managerproject.project_stage.managermodel_project_project_stageproject.group_project_manager1111
6access_project_task_type_userproject.task.type.usermodel_project_task_typebase.group_user1000
7access_project_task_type_project_userproject.task.type.project.usermodel_project_task_typeproject.group_project_user1111
8access_project_task_type_managerproject.task.type managermodel_project_task_typeproject.group_project_manager1111
9access_project_task_type_portaltask_type_portalproject.model_project_task_typebase.group_portal1000
10access_project_taskproject.taskmodel_project_taskproject.group_project_user1111
11access_report_project_task_userreport.project.task.usermodel_report_project_task_userproject.group_project_manager1000
12access_report_project_task_user_project_userreport.project.task.user.project.usermodel_report_project_task_userproject.group_project_user1000
13access_partner_task_userbase.res.partner userbase.model_res_partnerproject.group_project_user1000
14access_task_on_partnerproject.task on partnersmodel_project_taskbase.group_user1000
15access_task_portaltask_portalproject.model_project_taskbase.group_portal1000
16access_project_userproject.project on partnersmodel_project_projectbase.group_user1000
17access_project_portalproject_portalproject.model_project_projectbase.group_portal1000
18access_resource_calendarproject.resource_calendar userresource.model_resource_calendarproject.group_project_user1000
19access_resource_calendar_attendanceproject.resource_calendar_attendance userresource.model_resource_calendar_attendanceproject.group_project_user1000
20access_resource_calendar_leaves_userresource.calendar.leaves userresource.model_resource_calendar_leavesproject.group_project_user1111
21access_project_tags_allproject.project_tags_allmodel_project_tagsbase.group_user1000
22access_project_tags_managerproject.project_tags_managermodel_project_tagsproject.group_project_manager1111
23access_project_tags_portalproject_tags_portalproject.model_project_tagsbase.group_portal1000
24access_mail_activity_type_project_managermail.activity.type.project.managermail.model_mail_activity_typeproject.group_project_manager1111
25access_account_analytic_account_useraccount.analytic.accountanalytic.model_account_analytic_accountproject.group_project_user1000
26access_account_analytic_account_manageraccount.analytic.accountanalytic.model_account_analytic_accountproject.group_project_manager1111
27access_account_analytic_line_projectaccount.analytic.line projectanalytic.model_account_analytic_lineproject.group_project_manager1111
28access_project_task_type_delete_wizardproject.task.type.delete.wizardmodel_project_task_type_delete_wizardproject.group_project_manager1111
29access_project_project_stage_delete_wizardproject.project.stage.delete.wizardmodel_project_project_stage_delete_wizardproject.group_project_manager1111
30access_project_task_recurrenceproject.task.recurrencemodel_project_task_recurrenceproject.group_project_user1111
31project.access_project_task_burndown_chart_reportaccess_project_task_burndown_chart_reportproject.model_project_task_burndown_chart_reportproject.group_project_manager1111
32project.access_project_task_burndown_chart_report_useraccess_project_task_burndown_chart_report_userproject.model_project_task_burndown_chart_reportproject.group_project_user1000
33access_project_update_userproject.update.usermodel_project_updatebase.group_user1000
34access_project_update_portalproject.update.portalmodel_project_updatebase.group_portal0000
35access_project_update_project_userproject.update.project.usermodel_project_updateproject.group_project_user1111
36access_project_update_project_managerproject.update.project.managermodel_project_updateproject.group_project_manager1111
37access_project_milestone_userproject.milestone.usermodel_project_milestonebase.group_user1000
38access_project_milestone_portalproject.milestone.portalmodel_project_milestonebase.group_portal1000
39access_project_milestone_project_userproject.milestone.project.usermodel_project_milestoneproject.group_project_user1111
40access_project_milestone_project_managerproject.milestone.project.managermodel_project_milestoneproject.group_project_manager1111
41access_project_collaborator_managerproject.collaborator.managermodel_project_collaboratorproject.group_project_manager1111
42access_project_collaborator_userproject.collaborator.usermodel_project_collaboratorproject.group_project_user1000
43access_project_collaborator_portalproject.collaborator.portalmodel_project_collaboratorbase.group_portal1000
44access_project_share_managerproject.share.wizard.managermodel_project_share_wizardproject.group_project_manager1110
45access_project_personal_stageproject.personal.stage.usermodel_project_task_stage_personalbase.group_user1111
46access_mail_activity_plan_project_managermail.activity.plan.project.managermail.model_mail_activity_planproject.group_project_manager1111
47access_mail_activity_plan_template_project_managermail.activity.plan.template.project.managermail.model_mail_activity_plan_templateproject.group_project_manager1111