Show time slot end time in calendars

This commit is contained in:
Raphael Michel
2020-09-24 10:58:12 +02:00
parent 0e405d2327
commit c74e7fd4fb
3 changed files with 11 additions and 2 deletions

View File

@@ -41,6 +41,9 @@
<strong>
{% endif %}
{{ event.time|date:"TIME_FORMAT" }}
{% if event.time_end %}
{{ event.time_end|date:"TIME_FORMAT" }}
{% endif %}
{% if not show_names|default_if_none:True %}
</strong>
{% endif %}

View File

@@ -313,6 +313,7 @@ def add_events_for_days(request, baseqs, before, after, ebd, timezones):
datetime_from = event.date_from.astimezone(tz)
date_from = datetime_from.date()
if event.settings.show_date_to and event.date_to:
datetime_to = event.date_to.astimezone(tz)
date_to = event.date_to.astimezone(tz).date()
d = max(date_from, before.date())
while d <= date_to and d <= after.date():
@@ -321,6 +322,7 @@ def add_events_for_days(request, baseqs, before, after, ebd, timezones):
'event': event,
'continued': not first,
'time': datetime_from.time().replace(tzinfo=None) if first and event.settings.show_times else None,
'time_end': datetime_to.time().replace(tzinfo=None) if date_to == date_from and event.settings.show_times else None,
'url': eventreverse(event, 'presale:event.index'),
'timezone': event.settings.timezone,
})
@@ -374,6 +376,7 @@ def add_subevents_for_days(qs, before, after, ebd, timezones, event=None, cart_n
elif str(se.name) != name:
ebd['_subevents_different_names'] = True
if se.event.settings.show_date_to and se.date_to:
datetime_to = se.date_to.astimezone(tz)
date_to = se.date_to.astimezone(tz).date()
d = max(date_from, before.date())
while d <= date_to and d <= after.date():
@@ -382,6 +385,7 @@ def add_subevents_for_days(qs, before, after, ebd, timezones, event=None, cart_n
'continued': not first,
'timezone': settings.timezone,
'time': datetime_from.time().replace(tzinfo=None) if first and settings.show_times else None,
'time_end': datetime_to.time().replace(tzinfo=None) if date_to == date_from and settings.show_times else None,
'event': se,
'url': eventreverse(se.event, 'presale:event.index', kwargs=kwargs)
})

View File

@@ -344,10 +344,12 @@ class WidgetAPIProductList(EventListMixin, View):
else:
event = ev
tz = pytz.timezone(e['timezone'])
time = date_format(ev.date_from.astimezone(tz), 'TIME_FORMAT') if e.get('time') and event.settings.show_times else None
if time and ev.date_to and ev.date_from.astimezone(tz).date() == ev.date_to.astimezone(tz).date() and event.settings.show_date_to:
time += ' ' + date_format(ev.date_to.astimezone(tz), 'TIME_FORMAT')
events.append({
'name': str(ev.name),
'time': date_format(ev.date_from.astimezone(tz), 'TIME_FORMAT') if e.get('time') and event.settings.show_times else
None,
'time': time,
'continued': e['continued'],
'location': str(ev.location),
'date_range': ev.get_date_range_display() + (