From 3aa7b8ca278ff33d92afb421cc2539d602ec962b Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Wed, 11 Jan 2017 15:16:32 +0100 Subject: [PATCH] [FIX] project: Don't reset partner_id in onchange_project when empty In 3041efb, it was introduced a partner_id reset when project_id is False, but this causes you can't apply default values to partner_id directly. One use case where happens: * Go to Sales > Customers. * Select one customer. * Click on the smart-button "Tasks". * Create new task. Before this commit, the customer where you come from is assigned. After this, no partner is selected. --- addons/project/project.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/addons/project/project.py b/addons/project/project.py index 927ce38dd40..8f7f4dc3c2f 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -402,12 +402,11 @@ class task(osv.osv): values = {} if project_id: project = self.pool.get('project.project').browse(cr, uid, project_id, context=context) - if project and project.partner_id: - values['partner_id'] = project.partner_id.id - values['stage_id'] = self.stage_find(cr, uid, [], project_id, [('fold', '=', False)], context=context) + if project.exists(): + values['partner_id'] = project.partner_id.id + values['stage_id'] = self.stage_find(cr, uid, [], project_id, [('fold', '=', False)], context=context) else: values['stage_id'] = False - values['partner_id'] = False return {'value': values} def onchange_user_id(self, cr, uid, ids, user_id, context=None):