From 7a9e74b057e10696749d1019315d900565932f63 Mon Sep 17 00:00:00 2001 From: Jean-Marie Favreau Date: Sat, 23 Nov 2024 16:51:22 +0100 Subject: [PATCH] =?UTF-8?q?Au=20moment=20de=20l'import,=20si=20un=20=C3=A9?= =?UTF-8?q?v=C3=A9nement=20fait=20plus=20de=20x=20jours,=20on=20le=20place?= =?UTF-8?q?=20comme=20brouillon?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix #194 --- src/agenda_culturel/models.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/agenda_culturel/models.py b/src/agenda_culturel/models.py index 2a9516a..6245314 100644 --- a/src/agenda_culturel/models.py +++ b/src/agenda_culturel/models.py @@ -4,6 +4,7 @@ from django_better_admin_arrayfield.models.fields import ArrayField from django.utils.translation import gettext_lazy as _ from django.utils.safestring import mark_safe from django.template.defaultfilters import slugify +from django.utils.dateparse import parse_date from django.urls import reverse from colorfield.fields import ColorField from django_ckeditor_5.fields import CKEditor5Field @@ -719,6 +720,9 @@ class Event(models.Model): def is_single_day(self, intuitive=True): 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)) + def contains_date(self, d, intuitive=True): return d >= self.start_day and d <= self.get_consolidated_end_day(intuitive) @@ -1480,6 +1484,10 @@ class Event(models.Model): # import this new event to_import.append(event) + for e in to_import: + if e.is_event_long_duration(): + e.status = Event.STATUS.DRAFT + # then import all the new events imported = Event.objects.bulk_create(to_import) # update organisers (m2m relation)