diff --git a/addons/hr_timesheet/report/project_report_view.xml b/addons/hr_timesheet/report/project_report_view.xml
index 698c22704a7..fe3fdaf6a76 100644
--- a/addons/hr_timesheet/report/project_report_view.xml
+++ b/addons/hr_timesheet/report/project_report_view.xml
@@ -39,7 +39,7 @@
-
+
@@ -52,7 +52,7 @@
report.project.task.user
-
+
diff --git a/addons/project/report/project_report.py b/addons/project/report/project_report.py
index 080e6fa66fb..bddd5bd47cc 100644
--- a/addons/project/report/project_report.py
+++ b/addons/project/report/project_report.py
@@ -11,7 +11,8 @@ class ReportProjectTaskUser(models.Model):
_auto = False
name = fields.Char(string='Task', readonly=True)
- user_id = fields.Many2one('res.users', string='Assigned To', readonly=True)
+ user_ids = fields.Many2many('res.users', relation='project_task_user_rel', column1='task_id', column2='user_id',
+ string='Assignees', readonly=True)
create_date = fields.Datetime("Create Date", readonly=True)
date_assign = fields.Datetime(string='Assignment Date', readonly=True)
date_end = fields.Datetime(string='Ending Date', readonly=True)
@@ -55,7 +56,6 @@ class ReportProjectTaskUser(models.Model):
t.date_end as date_end,
t.date_last_stage_update as date_last_stage_update,
t.date_deadline as date_deadline,
- tu.user_id,
t.project_id,
t.priority,
t.name as name,
@@ -82,7 +82,6 @@ class ReportProjectTaskUser(models.Model):
t.date_end,
t.date_deadline,
t.date_last_stage_update,
- tu.user_id,
t.project_id,
t.priority,
t.name,
diff --git a/addons/project/report/project_report_views.xml b/addons/project/report/project_report_views.xml
index c44b0e9d95a..1f01e7f067c 100644
--- a/addons/project/report/project_report_views.xml
+++ b/addons/project/report/project_report_views.xml
@@ -17,7 +17,7 @@
-
+
@@ -31,7 +31,7 @@
-
+
@@ -46,7 +46,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -72,7 +72,7 @@
-
+
diff --git a/addons/project/report/project_task_burndown_chart_report.py b/addons/project/report/project_task_burndown_chart_report.py
index ecc5ced3258..6850267e304 100644
--- a/addons/project/report/project_task_burndown_chart_report.py
+++ b/addons/project/report/project_task_burndown_chart_report.py
@@ -18,7 +18,8 @@ class ReportProjectTaskBurndownChart(models.Model):
display_project_id = fields.Many2one('project.project', readonly=True)
stage_id = fields.Many2one('project.task.type', readonly=True)
date = fields.Datetime('Date', readonly=True)
- user_id = fields.Many2one('res.users', string='Assigned to', readonly=True)
+ user_ids = fields.Many2many('res.users', relation='project_task_user_rel', column1='task_id', column2='user_id',
+ string='Assignees', readonly=True)
date_assign = fields.Datetime(string='Assignment Date', readonly=True)
date_deadline = fields.Date(string='Deadline', readonly=True)
partner_id = fields.Many2one('res.partner', string='Customer', readonly=True)
@@ -59,7 +60,6 @@ WITH all_moves_stage_task AS (
COALESCE(LAG(mm.date) OVER (PARTITION BY mm.res_id ORDER BY mm.id), pt.create_date) as date_begin,
mm.date as date_end,
mtv.old_value_integer as stage_id,
- usr_rel.user_id,
pt.date_assign,
pt.date_deadline,
pt.partner_id
@@ -71,7 +71,6 @@ WITH all_moves_stage_task AS (
JOIN ir_model_fields imf ON mtv.field = imf.id
AND imf.model = 'project.task'
AND imf.name = 'stage_id'
- JOIN project_task_user_rel usr_rel ON pt.id=usr_rel.task_id
WHERE pt.active
--We compute the last reached stage
@@ -83,7 +82,6 @@ WITH all_moves_stage_task AS (
COALESCE(md.date, pt.create_date) as date_begin,
(CURRENT_DATE + interval '1 month')::date as date_end,
pt.stage_id,
- usr_rel.user_id,
pt.date_assign,
pt.date_deadline,
pt.partner_id
@@ -99,7 +97,6 @@ WITH all_moves_stage_task AS (
AND mm.model = 'project.task'
ORDER BY mm.id DESC
FETCH FIRST ROW ONLY) md ON TRUE
- JOIN project_task_user_rel usr_rel ON pt.id=usr_rel.task_id
WHERE pt.active
)
SELECT (task_id*10^7 + 10^6 + to_char(d, 'YYMMDD')::integer)::bigint as id,
@@ -108,7 +105,6 @@ SELECT (task_id*10^7 + 10^6 + to_char(d, 'YYMMDD')::integer)::bigint as id,
display_project_id,
stage_id,
d as date,
- user_id,
date_assign,
date_deadline,
partner_id,
@@ -125,7 +121,6 @@ SELECT (task_id*10^7 + 2*10^6 + to_char(d, 'YYMMDD')::integer)::bigint as id,
display_project_id,
stage_id,
date_trunc('week', d) as date,
- user_id,
date_assign,
date_deadline,
partner_id,
@@ -144,7 +139,6 @@ SELECT (task_id*10^7 + 3*10^6 + to_char(d, 'YYMMDD')::integer)::bigint as id,
display_project_id,
stage_id,
date_trunc('month', d) as date,
- user_id,
date_assign,
date_deadline,
partner_id,
@@ -163,7 +157,6 @@ SELECT (task_id*10^7 + 4*10^6 + to_char(d, 'YYMMDD')::integer)::bigint as id,
display_project_id,
stage_id,
date_trunc('quarter', d) as date,
- user_id,
date_assign,
date_deadline,
partner_id,
@@ -182,7 +175,6 @@ SELECT (task_id*10^7 + 5*10^6 + to_char(d, 'YYMMDD')::integer)::bigint as id,
display_project_id,
stage_id,
date_trunc('year', d) as date,
- user_id,
date_assign,
date_deadline,
partner_id,
diff --git a/addons/project/report/project_task_burndown_chart_report_views.xml b/addons/project/report/project_task_burndown_chart_report_views.xml
index 74a519cc9b2..3cb97e0d8e8 100644
--- a/addons/project/report/project_task_burndown_chart_report_views.xml
+++ b/addons/project/report/project_task_burndown_chart_report_views.xml
@@ -7,12 +7,10 @@
-
-
@@ -23,7 +21,6 @@
-
diff --git a/addons/project/wizard/project_task_type_delete.py b/addons/project/wizard/project_task_type_delete.py
index 0fbf271f067..573473464c9 100644
--- a/addons/project/wizard/project_task_type_delete.py
+++ b/addons/project/wizard/project_task_type_delete.py
@@ -58,7 +58,7 @@ class ProjectTaskTypeDelete(models.TransientModel):
action = self.env["ir.actions.actions"]._for_xml_id("project.action_view_task")
action['domain'] = [('project_id', '=', project_id)]
action['context'] = str({
- 'pivot_row_groupby': ['user_id'],
+ 'pivot_row_groupby': ['user_ids'],
'default_project_id': project_id,
})
elif self.env.context.get('stage_view'):