mirror of
https://github.com/pretix/pretix.git
synced 2026-05-07 15:34:02 +00:00
Display event selection within iframes
This commit is contained in:
@@ -1,9 +1,16 @@
|
|||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load eventurl %}
|
{% load eventurl %}
|
||||||
<form class="form-inline" method="get" id="monthselform" action="{% eventurl event "presale:event.index" %}">
|
{% load urlreplace %}
|
||||||
|
<form class="form-inline" method="get" id="monthselform" action="{% eventurl event "presale:event.index" cart_namespace=cart_namespace %}">
|
||||||
|
{% for f, v in request.GET.items %}
|
||||||
|
{% if f != "month" and f != "year" %}
|
||||||
|
<input type="hidden" name="{{ f }}" value="{{ v }}">
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-4 hidden-xs">
|
<div class="col-sm-4 hidden-xs">
|
||||||
<a href="{% eventurl event "presale:event.index" %}?year={{ before.year }}&month={{ before.month }}" class="btn btn-default">
|
<a href="?{% url_replace request "year" before.year "month" before.month %}"
|
||||||
|
class="btn btn-default">
|
||||||
<span class="fa fa-arrow-left"></span>
|
<span class="fa fa-arrow-left"></span>
|
||||||
{{ before|date:"F Y" }}
|
{{ before|date:"F Y" }}
|
||||||
</a>
|
</a>
|
||||||
@@ -24,7 +31,7 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-4 hidden-xs text-right">
|
<div class="col-sm-4 hidden-xs text-right">
|
||||||
<a href="{% eventurl event "presale:event.index" %}?year={{ after.year }}&month={{ after.month }}" class="btn btn-default">
|
<a href="?{% url_replace request "year" after.year "month" after.month %}" class="btn btn-default">
|
||||||
<span class="fa fa-arrow-right"></span>
|
<span class="fa fa-arrow-right"></span>
|
||||||
{{ after|date:"F Y" }}
|
{{ after|date:"F Y" }}
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load eventurl %}
|
{% load eventurl %}
|
||||||
{% for subev in event.active_future_subevents %}
|
{% for subev in event.active_future_subevents %}
|
||||||
<a href="{% eventurl event "presale:event.index" subevent=subev.id %}" class="subevent-row">
|
<a href="{% eventurl event "presale:event.index" subevent=subev.id cart_namespace=cart_namespace %}"
|
||||||
|
class="subevent-row">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<strong>{{ subev.name }}</strong>
|
<strong>{{ subev.name }}</strong>
|
||||||
|
|||||||
@@ -81,7 +81,7 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if event.has_subevents and not cart_namespace %}
|
{% if show_dates %}
|
||||||
{% if subevent %}
|
{% if subevent %}
|
||||||
<a class="subevent-toggle">
|
<a class="subevent-toggle">
|
||||||
{% trans "View other date" %}
|
{% trans "View other date" %}
|
||||||
@@ -90,7 +90,7 @@
|
|||||||
<h3>{% trans "Choose date to buy a ticket" %}</h3>
|
<h3>{% trans "Choose date to buy a ticket" %}</h3>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div class="subevent-list">
|
<div class="subevent-list">
|
||||||
{% if event.settings.event_list_type == "calendar" %}
|
{% if list_type == "calendar" %}
|
||||||
{% include "pretixpresale/event/fragment_subevent_calendar.html" %}
|
{% include "pretixpresale/event/fragment_subevent_calendar.html" %}
|
||||||
{% else %}
|
{% else %}
|
||||||
{% include "pretixpresale/event/fragment_subevent_list.html" %}
|
{% include "pretixpresale/event/fragment_subevent_list.html" %}
|
||||||
|
|||||||
@@ -241,7 +241,9 @@ class EventIndex(EventViewMixin, CartMixin, TemplateView):
|
|||||||
else:
|
else:
|
||||||
context['frontpage_text'] = str(self.request.event.settings.frontpage_text)
|
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()
|
self._set_month_year()
|
||||||
tz = pytz.timezone(self.request.event.settings.timezone)
|
tz = pytz.timezone(self.request.event.settings.timezone)
|
||||||
_, ndays = calendar.monthrange(self.year, self.month)
|
_, ndays = calendar.monthrange(self.year, self.month)
|
||||||
@@ -253,7 +255,8 @@ class EventIndex(EventViewMixin, CartMixin, TemplateView):
|
|||||||
context['after'] = after
|
context['after'] = after
|
||||||
|
|
||||||
ebd = defaultdict(list)
|
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['weeks'] = weeks_for_template(ebd, self.year, self.month)
|
||||||
context['months'] = [date(self.year, i + 1, 1) for i in range(12)]
|
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
|
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
|
return context
|
||||||
|
|
||||||
|
|||||||
@@ -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(
|
qs = qs.filter(active=True).filter(
|
||||||
Q(Q(date_to__gte=before) & Q(date_from__lte=after)) |
|
Q(Q(date_to__gte=before) & Q(date_from__lte=after)) |
|
||||||
Q(Q(date_from__lte=after) & Q(date_to__gte=before)) |
|
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'
|
'date_from'
|
||||||
)
|
)
|
||||||
for se in qs:
|
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
|
settings = event.settings if event else se.event.settings
|
||||||
timezones.add(settings.timezones)
|
timezones.add(settings.timezones)
|
||||||
tz = pytz.timezone(settings.timezone)
|
tz = pytz.timezone(settings.timezone)
|
||||||
@@ -175,9 +179,7 @@ def add_subevents_for_days(qs, before, after, ebd, timezones, event=None):
|
|||||||
'timezone': settings.timezone,
|
'timezone': settings.timezone,
|
||||||
'time': datetime_from.time().replace(tzinfo=None) if first and settings.show_times else None,
|
'time': datetime_from.time().replace(tzinfo=None) if first and settings.show_times else None,
|
||||||
'event': se,
|
'event': se,
|
||||||
'url': eventreverse(se.event, 'presale:event.index', kwargs={
|
'url': eventreverse(se.event, 'presale:event.index', kwargs=kwargs)
|
||||||
'subevent': se.pk
|
|
||||||
}),
|
|
||||||
})
|
})
|
||||||
d += timedelta(days=1)
|
d += timedelta(days=1)
|
||||||
|
|
||||||
@@ -186,9 +188,7 @@ def add_subevents_for_days(qs, before, after, ebd, timezones, event=None):
|
|||||||
'event': se,
|
'event': se,
|
||||||
'continued': False,
|
'continued': False,
|
||||||
'time': datetime_from.time().replace(tzinfo=None) if se.event.settings.show_times else None,
|
'time': datetime_from.time().replace(tzinfo=None) if se.event.settings.show_times else None,
|
||||||
'url': eventreverse(se.event, 'presale:event.index', kwargs={
|
'url': eventreverse(se.event, 'presale:event.index', kwargs=kwargs),
|
||||||
'subevent': se.pk
|
|
||||||
}),
|
|
||||||
'timezone': se.event.settings.timezone,
|
'timezone': se.event.settings.timezone,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user