Skip to content

Commit 3086c72

Browse files
committed
make event end date as non nullable
1 parent 2862944 commit 3086c72

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

app/eventyay/base/migrations/0001_initial.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ class Migration(migrations.Migration):
277277
),
278278
),
279279
('date_from', models.DateTimeField(verbose_name='Event start time')),
280-
('date_to', models.DateTimeField(blank=True, null=True, verbose_name='Event end time')),
280+
('date_to', models.DateTimeField(verbose_name='Event end time')),
281281
('date_admission', models.DateTimeField(blank=True, null=True, verbose_name='Admission time')),
282282
(
283283
'is_public',
@@ -3823,7 +3823,7 @@ class Migration(migrations.Migration):
38233823
),
38243824
('name', i18nfield.fields.I18nCharField(max_length=200, verbose_name='Name')),
38253825
('date_from', models.DateTimeField(verbose_name='Event start time')),
3826-
('date_to', models.DateTimeField(blank=True, null=True, verbose_name='Event end time')),
3826+
('date_to', models.DateTimeField(verbose_name='Event end time')),
38273827
('date_admission', models.DateTimeField(blank=True, null=True, verbose_name='Admission time')),
38283828
(
38293829
'presale_end',
@@ -5996,4 +5996,4 @@ class Migration(migrations.Migration):
59965996
name='submitteraccesscode',
59975997
unique_together={('event', 'code')},
59985998
),
5999-
]
5999+
]

app/eventyay/base/models/event.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
from django.db.models import Exists, OuterRef, Prefetch, Q, Subquery, Value
3030
from django.template.defaultfilters import date as _date
3131
from django.urls import reverse
32+
from django.utils import timezone
3233
from django.utils.crypto import get_random_string
3334
from django.utils.formats import date_format
3435
from django.utils.functional import cached_property
@@ -632,7 +633,7 @@ class Event(
632633
default=settings.DEFAULT_CURRENCY,
633634
)
634635
date_from = models.DateTimeField(verbose_name=_('Event start time'))
635-
date_to = models.DateTimeField(null=True, blank=True, verbose_name=_('Event end time'))
636+
date_to = models.DateTimeField(verbose_name=_('Event end time'))
636637
date_admission = models.DateTimeField(null=True, blank=True, verbose_name=_('Admission time'))
637638
is_public = models.BooleanField(
638639
default=True,
@@ -999,9 +1000,12 @@ def delete_all_orders(self, really=False):
9991000

10001001
def save(self, *args, **kwargs):
10011002
was_created = not bool(self.pk)
1003+
if self.date_from and not self.date_to:
1004+
self.date_to = self.date_from + timedelta(hours=24)
1005+
10021006
obj = super().save(*args, **kwargs)
10031007
self.cache.clear()
1004-
1008+
10051009
if was_created:
10061010
self.build_initial_data()
10071011
return obj
@@ -2487,7 +2491,7 @@ class SubEvent(EventMixin, LoggedModel):
24872491
verbose_name=_('Name'),
24882492
)
24892493
date_from = models.DateTimeField(verbose_name=_('Event start time'))
2490-
date_to = models.DateTimeField(null=True, blank=True, verbose_name=_('Event end time'))
2494+
date_to = models.DateTimeField(verbose_name=_('Event end time'))
24912495
date_admission = models.DateTimeField(null=True, blank=True, verbose_name=_('Admission time'))
24922496
presale_end = models.DateTimeField(
24932497
null=True,
@@ -2619,6 +2623,9 @@ def save(self, *args, **kwargs):
26192623
from .orders import Order
26202624

26212625
clear_cache = kwargs.pop('clear_cache', False)
2626+
if self.date_from and not self.date_to:
2627+
self.date_to = self.date_from + timedelta(hours=24)
2628+
26222629
super().save(*args, **kwargs)
26232630
if self.event and clear_cache:
26242631
self.event.cache.clear()

0 commit comments

Comments
 (0)