Skip to content

Commit

Permalink
[FIX] project: avoid traceback on stat button click
Browse files Browse the repository at this point in the history
- steps to reproduce bug:
  In project.task sharing form view, When clicking on any of the stat buttons (subtasks or parent task)
  when you arrive on the actual task formview a MissingError saying 'missing record' appears
- Issue:
  The record loads accordingly but the Missing Error shouldn't appear

- Cause:
  It is coming from the project_sharing_form_compiler which gave the projectSharingId props to the ChatterContainer element
  but the projectSharingId is equal to the "props.record.context.active_id" of the action, and in the context of the
  chatter we want the active_id to be equal to the project_id, which was the case when we are coming from the KanbanView and
  sub-list views but when coming from the task stat button the active_id is equal to the task_id and the env can't find
  the document 'project.project' with the id of the task. (in portal.py _document_check_access())
- Fix:
  We simply change the projectSharingId to take the "props.record.contect.active_id_chatter" the give an
  active_id_chatter= active_id in the Project Sharing task_action which will always equal the Id of the project

Task-3284755

closes odoo#126092

X-original-commit: 22c0825
Signed-off-by: Xavier Bol (xbo) <[email protected]>
  • Loading branch information
bastvdn authored and xavierbol committed Jun 22, 2023
1 parent da1d9a0 commit a32a7d2
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 2 deletions.
1 change: 1 addition & 0 deletions addons/project/models/project_project.py
Original file line number Diff line number Diff line change
Expand Up @@ -579,6 +579,7 @@ def action_project_sharing(self):
action['context'] = {
'default_project_id': self.id,
'delete': False,
'active_id_chatter': self.id,
}
action['display_name'] = self.name
return action
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ export class ProjectSharingChatterCompiler extends ViewCompiler {
return compileChatter(node, {
resId: '__comp__.model.root.resId or undefined',
resModel: '__comp__.model.root.resModel',
projectSharingId: '__comp__.model.root.context.active_id',
projectSharingId: '__comp__.model.root.context.active_id_chatter',
});
}
}
Expand All @@ -76,7 +76,7 @@ registry.category("form_compilers").add("portal_chatter_compiler", {
compileChatter(node, {
resId: "__comp__.props.record.resId or undefined",
resModel: "__comp__.props.record.resModel",
projectSharingId: "__comp__.props.record.context.active_id",
projectSharingId: "__comp__.props.record.context.active_id_chatter",
}),
});

Expand Down

0 comments on commit a32a7d2

Please sign in to comment.