|
29 | 29 | from django.db.models import Exists, OuterRef, Prefetch, Q, Subquery, Value |
30 | 30 | from django.template.defaultfilters import date as _date |
31 | 31 | from django.urls import reverse |
| 32 | +from django.utils import timezone |
32 | 33 | from django.utils.crypto import get_random_string |
33 | 34 | from django.utils.formats import date_format |
34 | 35 | from django.utils.functional import cached_property |
@@ -632,7 +633,7 @@ class Event( |
632 | 633 | default=settings.DEFAULT_CURRENCY, |
633 | 634 | ) |
634 | 635 | 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')) |
636 | 637 | date_admission = models.DateTimeField(null=True, blank=True, verbose_name=_('Admission time')) |
637 | 638 | is_public = models.BooleanField( |
638 | 639 | default=True, |
@@ -999,9 +1000,12 @@ def delete_all_orders(self, really=False): |
999 | 1000 |
|
1000 | 1001 | def save(self, *args, **kwargs): |
1001 | 1002 | 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 | + |
1002 | 1006 | obj = super().save(*args, **kwargs) |
1003 | 1007 | self.cache.clear() |
1004 | | - |
| 1008 | + |
1005 | 1009 | if was_created: |
1006 | 1010 | self.build_initial_data() |
1007 | 1011 | return obj |
@@ -2487,7 +2491,7 @@ class SubEvent(EventMixin, LoggedModel): |
2487 | 2491 | verbose_name=_('Name'), |
2488 | 2492 | ) |
2489 | 2493 | 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')) |
2491 | 2495 | date_admission = models.DateTimeField(null=True, blank=True, verbose_name=_('Admission time')) |
2492 | 2496 | presale_end = models.DateTimeField( |
2493 | 2497 | null=True, |
@@ -2619,6 +2623,9 @@ def save(self, *args, **kwargs): |
2619 | 2623 | from .orders import Order |
2620 | 2624 |
|
2621 | 2625 | 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 | + |
2622 | 2629 | super().save(*args, **kwargs) |
2623 | 2630 | if self.event and clear_cache: |
2624 | 2631 | self.event.cache.clear() |
|
0 commit comments