diff --git a/addons/sale_timesheet/models/account.py b/addons/sale_timesheet/models/account.py index 7dc2411d53e..dba9cc76d6c 100644 --- a/addons/sale_timesheet/models/account.py +++ b/addons/sale_timesheet/models/account.py @@ -38,10 +38,12 @@ class AccountAnalyticLine(models.Model): return {} unit_amount = values.get('unit_amount', 0.0) or self.unit_amount user_id = values.get('user_id') or self.user_id.id or self._default_user() - emp = self.env['hr.employee'].search([('user_id', '=', user_id)], limit=1) - account = values.get('account_id') and self.env['account.analytic.account'].browse([values['account_id']]) or self.account_id or emp.account_id + user = self.env['res.users'].browse([user_id]) + emp = self.env['hr.employee'].search([('user_id', '=', user_id), ('company_id', '=', user.company_id.id)], limit=1) + if not emp: + emp = self.env['hr.employee'].search([('user_id', '=', user_id)], limit=1).sudo() cost = emp and emp.timesheet_cost or 0.0 - uom = account.sudo().company_id.project_time_mode_id + uom = (emp or user).company_id.project_time_mode_id # Nominal employee cost = 1 * company project UoM (project_time_mode_id) return { 'amount': -unit_amount * cost,