From c7f2d0683b8d0543b2479e9f8b231946df2a02a9 Mon Sep 17 00:00:00 2001 From: clementthomas Date: Thu, 13 Apr 2023 08:30:46 +0200 Subject: [PATCH] [FIX] hr_effective_attendance_period: DST daylight saving time (DST) fix when compute UTC time --- .gitignore | 2 ++ hr_effective_attendance_period/models/resource.py | 5 ++--- 2 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..551cb32 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*.*~ +*.pyc diff --git a/hr_effective_attendance_period/models/resource.py b/hr_effective_attendance_period/models/resource.py index 7ebec57..7df3f5c 100644 --- a/hr_effective_attendance_period/models/resource.py +++ b/hr_effective_attendance_period/models/resource.py @@ -43,9 +43,8 @@ class ResourceCalendar(models.Model): return morning_worked and afternoon_worked def _compute_datetime_in_utc_tz(self, date): - dt_now = datetime.now(pytz.timezone(self.env.context.get('tz', 'utc') or 'utc')) - utc_date = date - dt_now.utcoffset() - return utc_date + user_tz = pytz.timezone(self.env.context.get('tz', 'utc') or 'utc') + return user_tz.localize(date).astimezone(pytz.utc) def _is_worked_attendance(self, resource, day, attendance): attendance_start = fields.Datetime.to_datetime(day.date()) + timedelta(hours=attendance.hour_from)