diff --git a/addons/project/models/project.py b/addons/project/models/project.py
index 393c94821b2..6e6ad7ddfd8 100644
--- a/addons/project/models/project.py
+++ b/addons/project/models/project.py
@@ -387,11 +387,13 @@ class Task(models.Model):
@api.onchange('project_id')
def _onchange_project(self):
+ default_partner_id = self.env.context.get('default_partner_id')
+ default_partner = self.env['res.partner'].browse(default_partner_id) if default_partner_id else None
if self.project_id:
- self.partner_id = self.project_id.partner_id
+ self.partner_id = self.project_id.partner_id or default_partner
self.stage_id = self.stage_find(self.project_id.id, [('fold', '=', False)])
else:
- self.partner_id = False
+ self.partner_id = default_partner
self.stage_id = False
@api.onchange('user_id')
diff --git a/addons/project/models/res_partner.py b/addons/project/models/res_partner.py
index 2fd7f0f7e3a..a21370e52ed 100644
--- a/addons/project/models/res_partner.py
+++ b/addons/project/models/res_partner.py
@@ -12,5 +12,7 @@ class ResPartner(models.Model):
task_count = fields.Integer(compute='_compute_task_count', string='# Tasks')
def _compute_task_count(self):
+ fetch_data = self.env['project.task'].read_group([('partner_id', 'in', self.ids)], ['partner_id'], ['partner_id'])
+ result = dict((data['partner_id'][0], data['partner_id_count']) for data in fetch_data)
for partner in self:
- partner.task_count = len(partner.task_ids)
+ partner.task_count = result.get(partner.id, 0)
diff --git a/addons/project/views/project_views.xml b/addons/project/views/project_views.xml
index cd7a0cbd7d0..11b29664b6d 100644
--- a/addons/project/views/project_views.xml
+++ b/addons/project/views/project_views.xml
@@ -574,6 +574,13 @@ action = model.activate_sample_project()
+
+ Tasks
+ project.task
+ kanban,tree,form
+
+
+
Overpassed Tasks
project.task
diff --git a/addons/project/views/res_partner_views.xml b/addons/project/views/res_partner_views.xml
index d81016193e3..34e59d2d3f4 100644
--- a/addons/project/views/res_partner_views.xml
+++ b/addons/project/views/res_partner_views.xml
@@ -10,8 +10,8 @@
+
+ project.issue
+ form
+ Issues
+ kanban,tree,form
+
+
Issues
project.issue
diff --git a/addons/project_issue/views/res_partner_views.xml b/addons/project_issue/views/res_partner_views.xml
index 4f6e0a12039..b362da9b81d 100644
--- a/addons/project_issue/views/res_partner_views.xml
+++ b/addons/project_issue/views/res_partner_views.xml
@@ -9,9 +9,9 @@
-