Display event selection within iframes

This commit is contained in:
Raphael Michel
2017-12-22 13:38:48 +01:00
parent 8c0fb90420
commit 954b7f6d9e
5 changed files with 32 additions and 15 deletions

View File

@@ -241,7 +241,9 @@ class EventIndex(EventViewMixin, CartMixin, TemplateView):
else:
context['frontpage_text'] = str(self.request.event.settings.frontpage_text)
if self.request.event.settings.event_list_type == "calendar":
context['list_type'] = self.request.GET.get("style", self.request.event.settings.event_list_type)
if context['list_type'] == "calendar":
self._set_month_year()
tz = pytz.timezone(self.request.event.settings.timezone)
_, ndays = calendar.monthrange(self.year, self.month)
@@ -253,7 +255,8 @@ class EventIndex(EventViewMixin, CartMixin, TemplateView):
context['after'] = after
ebd = defaultdict(list)
add_subevents_for_days(self.request.event.subevents.all(), before, after, ebd, set(), self.request.event)
add_subevents_for_days(self.request.event.subevents.all(), before, after, ebd, set(), self.request.event,
kwargs.get('cart_namespace'))
context['weeks'] = weeks_for_template(ebd, self.year, self.month)
context['months'] = [date(self.year, i + 1, 1) for i in range(12)]
@@ -264,6 +267,12 @@ class EventIndex(EventViewMixin, CartMixin, TemplateView):
self.request.event.has_subevents or self.request.event.presale_is_running
)
)
context['show_dates'] = (
self.request.event.has_subevents and (
'cart_namespace' not in self.kwargs
or not self.subevent
)
)
return context

View File

@@ -151,7 +151,7 @@ def add_events_for_days(request, organizer, before, after, ebd, timezones):
})
def add_subevents_for_days(qs, before, after, ebd, timezones, event=None):
def add_subevents_for_days(qs, before, after, ebd, timezones, event=None, cart_namespace=None):
qs = qs.filter(active=True).filter(
Q(Q(date_to__gte=before) & Q(date_from__lte=after)) |
Q(Q(date_from__lte=after) & Q(date_to__gte=before)) |
@@ -160,6 +160,10 @@ def add_subevents_for_days(qs, before, after, ebd, timezones, event=None):
'date_from'
)
for se in qs:
kwargs = {'subevent': se.pk}
if cart_namespace:
kwargs['cart_namespace'] = cart_namespace
settings = event.settings if event else se.event.settings
timezones.add(settings.timezones)
tz = pytz.timezone(settings.timezone)
@@ -175,9 +179,7 @@ def add_subevents_for_days(qs, before, after, ebd, timezones, event=None):
'timezone': settings.timezone,
'time': datetime_from.time().replace(tzinfo=None) if first and settings.show_times else None,
'event': se,
'url': eventreverse(se.event, 'presale:event.index', kwargs={
'subevent': se.pk
}),
'url': eventreverse(se.event, 'presale:event.index', kwargs=kwargs)
})
d += timedelta(days=1)
@@ -186,9 +188,7 @@ def add_subevents_for_days(qs, before, after, ebd, timezones, event=None):
'event': se,
'continued': False,
'time': datetime_from.time().replace(tzinfo=None) if se.event.settings.show_times else None,
'url': eventreverse(se.event, 'presale:event.index', kwargs={
'subevent': se.pk
}),
'url': eventreverse(se.event, 'presale:event.index', kwargs=kwargs),
'timezone': se.event.settings.timezone,
})