diff --git a/addons/sale_timesheet/models/project.py b/addons/sale_timesheet/models/project.py
index d8b4cca03a2..4d3a45876f7 100644
--- a/addons/sale_timesheet/models/project.py
+++ b/addons/sale_timesheet/models/project.py
@@ -73,6 +73,7 @@ class ProjectTask(models.Model):
return sale_line_id
sale_line_id = fields.Many2one('sale.order.line', 'Sales Order Item', default=_default_sale_line_id, domain="[('is_service', '=', True), ('order_partner_id', '=', partner_id), ('is_expense', '=', False)]")
+ sale_order_id = fields.Many2one('sale.order', 'Sales Order', related='sale_line_id.order_id', store=True, readonly=True)
@api.onchange('project_id')
def _onchange_project(self):
diff --git a/addons/sale_timesheet/models/sale_order.py b/addons/sale_timesheet/models/sale_order.py
index 5777648fd3b..c54c0df7089 100644
--- a/addons/sale_timesheet/models/sale_order.py
+++ b/addons/sale_timesheet/models/sale_order.py
@@ -72,11 +72,15 @@ class SaleOrder(models.Model):
action['context'] = safe_eval(action['context'], eval_context)
else:
action = self.env.ref('project.action_view_task').read()[0]
+ action['context'] = {} # erase default context to avoid default filter
if len(self.tasks_ids) > 1: # cross project kanban task
action['views'] = [[False, 'kanban'], [list_view_id, 'tree'], [form_view_id, 'form'], [False, 'graph'], [False, 'calendar'], [False, 'pivot'], [False, 'graph']]
elif len(self.tasks_ids) == 1: # single task -> form view
action['views'] = [(form_view_id, 'form')]
action['res_id'] = self.tasks_ids.id
+ # filter on the task of the current SO
+ action.setdefault('context', {})
+ action['context'].update({'search_default_sale_order_id': self.id})
return action
@api.multi
diff --git a/addons/sale_timesheet/views/project_task_views.xml b/addons/sale_timesheet/views/project_task_views.xml
index 2b4705f1b4c..1b82269ca19 100644
--- a/addons/sale_timesheet/views/project_task_views.xml
+++ b/addons/sale_timesheet/views/project_task_views.xml
@@ -46,6 +46,18 @@
+
+ project.task.search.inherit
+ project.task
+
+
+
+
+
+
+
+
+
project.task.form.inherit.timesheet
project.task