From a35e8fb67a459b9003147607dfb6a3770339cc30 Mon Sep 17 00:00:00 2001 From: Raouf Date: Thu, 5 Jan 2023 15:32:56 +0000 Subject: [PATCH] [IMP] project: improve ux Before this commit: - When a project is created on SO confirmation, the new project (assuming there is no project template set on the product) is added with one stage with name=New - When portal users drag & drop columns from the kanban view of project.task, an access rights error is displayed. After this commit: - When a project is created on SO confirmation, set the following stages for the new project (assuming there is no project template set on the product): to do - in progress - done (folded) - canceled (folded). - Disable dragging and dropping project tasks for portal user. task-2929871 closes odoo/odoo#97220 Related: odoo/enterprise#29911 Signed-off-by: Xavier Bol (xbo) --- .../views/project_sharing_project_task_views.xml | 1 + addons/sale_project/models/sale_order_line.py | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/addons/project/views/project_sharing_project_task_views.xml b/addons/project/views/project_sharing_project_task_views.xml index 22a67e601ad..43cc7ae053b 100644 --- a/addons/project/views/project_sharing_project_task_views.xml +++ b/addons/project/views/project_sharing_project_task_views.xml @@ -27,6 +27,7 @@ quick_create_view="project.project_sharing_quick_create_task_form" archivable="0" import="0" + groups_draggable="0" > diff --git a/addons/sale_project/models/sale_order_line.py b/addons/sale_project/models/sale_order_line.py index 9f9bbe88a63..72748131453 100644 --- a/addons/sale_project/models/sale_order_line.py +++ b/addons/sale_project/models/sale_order_line.py @@ -144,7 +144,16 @@ class SaleOrderLine(models.Model): # Avoid new tasks to go to 'Undefined Stage' if not project.type_ids: - project.type_ids = self.env['project.task.type'].create({'name': _('New')}) + project.type_ids = self.env['project.task.type'].create([{ + 'name': name, + 'fold': fold, + 'sequence': sequence, + } for name, fold, sequence in [ + (_('To Do'), False, 5), + (_('In Progress'), False, 10), + (_('Done'), True, 15), + (_('Canceled'), True, 20), + ]]) # link project as generated by current so line self.write({'project_id': project.id})