[FIX] project: change user_id into user_ids in various view and reports
The `user_id` field was replaced in odoo/odoo#74087 by `user_ids`. The field change was forgotten in various reports and the a wizard. This commit fixes those. task-2638359 closes #76166 X-original-commit: f584485f0c69eda002491ca9b63bc3d228e95001
This commit is contained in:
@@ -39,7 +39,7 @@
|
||||
<filter string="Tasks in Overtime" name="overtime" domain="[('task_id.overtime', '>', 0)]"/>
|
||||
</xpath>
|
||||
<xpath expr="//filter[@name='my_tasks']" position="before">
|
||||
<filter string="My Team's Projects" name="my_team_projects" domain="[('project_id.user_id.employee_id.parent_id.user_id', '=', uid), ('project_id.user_id', '!=', uid), ('user_id', '!=', uid), ('user_id', '!=', False)]"/>
|
||||
<filter string="My Team's Projects" name="my_team_projects" domain="[('project_id.user_id.employee_id.parent_id.user_id', '=', uid), ('project_id.user_id', '!=', uid), ('user_ids', '!=', uid), ('user_ids', '!=', False)]"/>
|
||||
</xpath>
|
||||
<xpath expr="//filter[@name='my_tasks']" position="after">
|
||||
<filter string="My Team's Tasks" name="my_team_tasks" domain="[('task_id.user_ids.employee_id.parent_id.user_id', '=', uid)]" />
|
||||
@@ -52,7 +52,7 @@
|
||||
<field name="model">report.project.task.user</field>
|
||||
<field name="inherit_id" ref="project.report_project_task_user_view_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="user_id" position="after">
|
||||
<field name="user_ids" position="after">
|
||||
<field name="hours_effective" optional="hide" widget="float_time"/>
|
||||
<field name="progress" optional="hide" widget="progressbar"/>
|
||||
</field>
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Tasks Analysis" sample="1">
|
||||
<field name="project_id"/>
|
||||
<field name="user_id"/>
|
||||
<field name="user_ids"/>
|
||||
<field name="nbr" invisible="1"/>
|
||||
</graph>
|
||||
</field>
|
||||
@@ -31,7 +31,7 @@
|
||||
<field name="name"/>
|
||||
<field name="partner_id" optional="hide"/>
|
||||
<field name="project_id" optional="show"/>
|
||||
<field name="user_id" optional="show" widget="many2one_avatar_user"/>
|
||||
<field name="user_ids" optional="show" widget="many2many_avatar_user"/>
|
||||
<field name="stage_id" optional="show"/>
|
||||
<field name="company_id" optional="show" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
@@ -46,7 +46,7 @@
|
||||
<field name="project_id"/>
|
||||
<field name="name" />
|
||||
<field name="stage_id"/>
|
||||
<field name="user_id"/>
|
||||
<field name="user_ids"/>
|
||||
<field name="partner_id" filter_domain="[('partner_id', 'child_of', self)]"/>
|
||||
<field name="name" string="Tags" filter_domain="[('task_id.tag_ids', 'ilike', self)]"/>
|
||||
<field name="date_assign"/>
|
||||
@@ -59,7 +59,7 @@
|
||||
<filter string="Starred" name="starred" domain="[('task_id.priority', 'in', [0, 1])]"/>
|
||||
<separator/>
|
||||
<filter string="Tasks Late" name="late" domain="[('task_id.date_deadline', '<', context_today().strftime('%Y-%m-%d'))]"/>
|
||||
<filter string="Unassigned Tasks" name="unassigned" domain="[('user_id', '=', False)]"/>
|
||||
<filter string="Unassigned Tasks" name="unassigned" domain="[('user_ids', '=', False)]"/>
|
||||
<filter string="Open tasks" name="open_tasks" domain="[('stage_id.fold', '=', False), ('stage_id.is_closed', '=', False)]"/>
|
||||
<separator/>
|
||||
<filter name="filter_date_deadline" date="date_deadline"/>
|
||||
@@ -72,7 +72,7 @@
|
||||
<group expand="1" string="Group By">
|
||||
<filter string="Project" name="project" context="{'group_by': 'project_id'}"/>
|
||||
<filter string="Stage" name="Stage" context="{'group_by': 'stage_id'}"/>
|
||||
<filter string="Assigned to" name="User" context="{'group_by': 'user_id'}"/>
|
||||
<filter string="Assigned to" name="User" context="{'group_by': 'user_ids'}"/>
|
||||
<filter string="Customer" name="Customer" context="{'group_by': 'partner_id'}"/>
|
||||
<filter string="Deadline" name="deadline" context="{'group_by': 'date_deadline'}"/>
|
||||
</group>
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -7,12 +7,10 @@
|
||||
<field name="arch" type="xml">
|
||||
<search string="Burndown Chart">
|
||||
<field name="project_id" />
|
||||
<field name="user_id" />
|
||||
<field name="date_assign"/>
|
||||
<field name="date_deadline"/>
|
||||
<field name="partner_id" filter_domain="[('partner_id', 'child_of', self)]"/>
|
||||
<field name="stage_id" />
|
||||
<filter string="Unassigned" name="unassigned" domain="[('user_id', '=', False)]"/>
|
||||
<separator/>
|
||||
<filter name="filter_date" date="date" string="Date" />
|
||||
<filter name="filter_date_deadline" date="date_deadline"/>
|
||||
@@ -23,7 +21,6 @@
|
||||
<filter string="Date" name="date" context="{'group_by': 'date'}" />
|
||||
<filter string="Stage" name="stage" context="{'group_by': 'stage_id'}" />
|
||||
<filter string="Project" name="project" context="{'group_by': 'project_id'}" />
|
||||
<filter string="Assigned To" name="user" context="{'group_by': 'user_id'}" />
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
|
||||
@@ -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'):
|
||||
|
||||
Reference in New Issue
Block a user