diff --git a/src/agenda_culturel/models.py b/src/agenda_culturel/models.py index aa6fd8d..6570b4b 100644 --- a/src/agenda_culturel/models.py +++ b/src/agenda_culturel/models.py @@ -689,7 +689,9 @@ class Event(models.Model): if intuitive: end_day = self.get_consolidated_end_day(False) if end_day != self.start_day and self.end_time and self.end_time < time(8): - return end_day + timedelta(days=-1) + if isinstance(end_day, str): + end_day = date.fromisoformat(str(end_day)) + return parse_date(end_day) + timedelta(days=-1) else: return end_day else: @@ -713,7 +715,10 @@ class Event(models.Model): return self.start_day == self.get_consolidated_end_day(intuitive) def is_event_long_duration(self, min_days=4, intuitive=True): - return parse_date(self.start_day) + timedelta(days=min_days) < parse_date(self.get_consolidated_end_day(intuitive)) + end_date = self.get_consolidated_end_day(intuitive) + if isinstance(end_date, str): + end_date = parse_date(end_date) + return parse_date(self.start_day) + timedelta(days=min_days) < end_date def contains_date(self, d, intuitive=True): return d >= self.start_day and d <= self.get_consolidated_end_day(intuitive)