From bbc233f97e3e7a71c754805ac3af4c3496964dc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthieu=20M=C3=A9quignon?= Date: Wed, 15 Sep 2021 18:44:30 +0200 Subject: [PATCH] base_time_window: Disallow hours > 23 --- base_time_window/models/time_window_mixin.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/base_time_window/models/time_window_mixin.py b/base_time_window/models/time_window_mixin.py index da62f71d4..a80947d98 100644 --- a/base_time_window/models/time_window_mixin.py +++ b/base_time_window/models/time_window_mixin.py @@ -88,6 +88,19 @@ class TimeWindowMixin(models.AbstractModel): end=format_time(self.env, record.get_time_window_end_time()), ) + @api.constrains("time_window_start", "time_window_end") + def _check_window_under_twenty_four_hours(self): + error_msg = _("Hour should be between 00 and 23") + for record in self: + if record.time_window_start: + hour, minute = self._get_hour_min_from_value(record.time_window_start) + if hour > 23: + raise ValidationError(error_msg) + if record.time_window_end: + hour, minute = self._get_hour_min_from_value(record.time_window_end) + if hour > 23: + raise ValidationError(error_msg) + @api.model def _get_hour_min_from_value(self, value): hour = math.floor(value)