diff --git a/addons/hr_work_entry_contract/models/hr_contract.py b/addons/hr_work_entry_contract/models/hr_contract.py index b1ce9b6e92414e389cb1f59c51c2f936112b7326..2dbf2e63b7007e77c6519b278eb600489b8f4440 100644 --- a/addons/hr_work_entry_contract/models/hr_contract.py +++ b/addons/hr_work_entry_contract/models/hr_contract.py @@ -302,7 +302,12 @@ class HrContract(models.Model): for interval, contracts in intervals_to_generate.items(): date_from, date_to = interval - vals_list.extend(contracts._get_work_entries_values(date_from, date_to)) + timezones = contracts.resource_calendar_id.mapped('tz') + for timezone in timezones: + tz = pytz.timezone(timezone) + date_from = tz.localize(date_from) if not date_from.tzinfo else date_from + date_to = tz.localize(date_to) if not date_to.tzinfo else date_to + vals_list.extend(contracts.filtered(lambda c: c.resource_calendar_id.tz == timezone)._get_work_entries_values(date_from, date_to)) if not vals_list: return self.env['hr.work.entry']