summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
Diffstat (limited to 'addons')
-rw-r--r--addons/hr_timesheet/models/hr_timesheet.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/addons/hr_timesheet/models/hr_timesheet.py b/addons/hr_timesheet/models/hr_timesheet.py
index 1988a2cd64a..5344a16aed0 100644
--- a/addons/hr_timesheet/models/hr_timesheet.py
+++ b/addons/hr_timesheet/models/hr_timesheet.py
@@ -11,7 +11,7 @@ class AccountAnalyticLine(models.Model):
@api.model
def default_get(self, field_list):
result = super(AccountAnalyticLine, self).default_get(field_list)
- if 'employee_id' in field_list and result.get('user_id'):
+ if not self.env.context.get('default_employee_id') and 'employee_id' in field_list and result.get('user_id'):
result['employee_id'] = self.env['hr.employee'].search([('user_id', '=', result['user_id'])], limit=1).id
return result
@@ -23,10 +23,11 @@ class AccountAnalyticLine(models.Model):
@api.onchange('project_id')
def onchange_project_id(self):
- # reset task when changing project
- self.task_id = False
# force domain on task when project is set
if self.project_id:
+ if self.project_id != self.task_id.project_id:
+ # reset task when changing project
+ self.task_id = False
return {'domain': {
'task_id': [('project_id', '=', self.project_id.id)]
}}