[FIX] project: task: correctly set stage_id during onchange project_id

If you create a task when `default_project_id` is set, the stage_id
is initialized at the lowest sequence of the stages of the project,
which is normal. However, when you change the project of the task,
the stage_id was not correctly reset. If you save at this time, you
add the selected stage in the project.

Also, the stage_id was not correctly cleared if you remove the project.
This commit is contained in:
Simon Lejeune
2016-08-30 18:15:33 +02:00
parent 7d3f9ac9b9
commit 3041efb655
+7 -2
View File
@@ -399,11 +399,16 @@ class task(osv.osv):
@api.cr_uid_ids_context
def onchange_project(self, cr, uid, id, project_id, context=None):
values = {}
if project_id:
project = self.pool.get('project.project').browse(cr, uid, project_id, context=context)
if project and project.partner_id:
return {'value': {'partner_id': project.partner_id.id}}
return {}
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):
vals = {}