From 11f0d190eaa43a5104253f24d5331f20a95c300d Mon Sep 17 00:00:00 2001 From: Elouan Le Bars Date: Wed, 12 Feb 2020 10:16:40 +0100 Subject: [PATCH] [FIX] b_shift : datetime.combine() method for python 3.4 --- beesdoo_shift/models/planning.py | 10 +++++++--- beesdoo_shift/wizard/instanciate_planning.py | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/beesdoo_shift/models/planning.py b/beesdoo_shift/models/planning.py index 35f9c72..f8c31a1 100644 --- a/beesdoo_shift/models/planning.py +++ b/beesdoo_shift/models/planning.py @@ -100,11 +100,15 @@ class TaskTemplate(models.Model): end_date = fields.Datetime(compute="_get_fake_date", search="_dummy_search") def _get_utc_date(self, day, hour, minute): + """Combine day number, hours and minutes to save + corresponding UTC datetime in database. + """ context_tz = timezone(self._context.get('tz') or self.env.user.tz) - day_local_time=datetime.combine(day, time(hour=hour, minute=minute), tzinfo=context_tz) - day_utc_time=day_local_time.astimezone(UTC) + day_local_time = datetime.combine(day, time(hour=hour, minute=minute)) + day_local_time = context_tz.localize(day_local_time) + day_utc_time = day_local_time.astimezone(UTC) # Return naïve datetime so as to be saved in database - return day_utc_time.replace(tzinfo=None) + return day_utc_time.replace(tzinfo=None) @api.depends('start_time', 'end_time') def _get_fake_date(self): diff --git a/beesdoo_shift/wizard/instanciate_planning.py b/beesdoo_shift/wizard/instanciate_planning.py index be91264..421aaaf 100644 --- a/beesdoo_shift/wizard/instanciate_planning.py +++ b/beesdoo_shift/wizard/instanciate_planning.py @@ -7,7 +7,7 @@ class InstanciatePlanning(models.TransientModel): def _get_planning(self): return self._context.get('active_id') - date_start = fields.Date("First Day of planning", required=True) + date_start = fields.Date("First Day of planning (should be monday)", required=True) planning_id = fields.Many2one('beesdoo.shift.planning', readonly=True, default=_get_planning) @api.multi