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)