diff --git a/src/pretix/presale/templates/pretixpresale/organizers/index.html b/src/pretix/presale/templates/pretixpresale/organizers/index.html index 14fce5205d..85c62aca18 100644 --- a/src/pretix/presale/templates/pretixpresale/organizers/index.html +++ b/src/pretix/presale/templates/pretixpresale/organizers/index.html @@ -53,7 +53,7 @@ {{ e.name }} - {{ e.get_date_range_display }} + {{ e.daterange|default:e.get_date_range_display }} diff --git a/src/pretix/presale/views/organizer.py b/src/pretix/presale/views/organizer.py index d2933f6435..49bc01f7c6 100644 --- a/src/pretix/presale/views/organizer.py +++ b/src/pretix/presale/views/organizer.py @@ -18,6 +18,7 @@ from pretix.base.i18n import language from pretix.base.models import ( Event, EventMetaValue, SubEvent, SubEventMetaValue, ) +from pretix.helpers.daterange import daterange from pretix.multidomain.urlreverse import eventreverse from pretix.presale.ical import get_ical from pretix.presale.views import OrganizerViewMixin @@ -130,6 +131,17 @@ class OrganizerIndex(OrganizerViewMixin, ListView): qs = filter_qs_by_attr(qs, self.request) return qs + def get_context_data(self, **kwargs): + ctx = super().get_context_data(**kwargs) + for event in ctx['events']: + tz = pytz.timezone(event.cache.get_or_set('timezone', lambda: event.settings.timezone)) + if event.has_subevents: + event.daterange = daterange( + event.min_from.astimezone(tz), + (event.max_fromto or event.max_to or event.max_from).astimezone(tz) + ) + return ctx + def add_events_for_days(request, baseqs, before, after, ebd, timezones): qs = baseqs.filter(is_public=True, live=True, has_subevents=False).filter(