mirror of
https://github.com/pretix/pretix.git
synced 2026-05-06 15:24:02 +00:00
List and calendar for all organizers
This commit is contained in:
@@ -135,7 +135,7 @@ class OrganizerSettingsForm(SettingsForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
event_list_type = forms.ChoiceField(
|
event_list_type = forms.ChoiceField(
|
||||||
label=_('Event overview stile'),
|
label=_('Default overview style'),
|
||||||
choices=(
|
choices=(
|
||||||
('list', _('List')),
|
('list', _('List')),
|
||||||
('calendar', _('Calendar'))
|
('calendar', _('Calendar'))
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{% extends "pretixcontrol/base.html" %}
|
{% extends "pretixcontrol/base.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
{% load eventurl %}
|
||||||
{% block title %}{% trans "Organizers" %}{% endblock %}
|
{% block title %}{% trans "Organizers" %}{% endblock %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1>{% trans "Organizers" %}</h1>
|
<h1>{% trans "Organizers" %}</h1>
|
||||||
|
|||||||
@@ -9,14 +9,27 @@
|
|||||||
{{ organizer_homepage_text | rich_text }}
|
{{ organizer_homepage_text | rich_text }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<h3 class="text-center">{{ date|date:"F Y" }}</h3>
|
<div class="clearfix"></div>
|
||||||
<form class="form-inline" method="get" id="monthselform" action="{% eventurl request.organizer "presale:organizer.calendar" %}">
|
<h3>{{ date|date:"F Y" }}</h3>
|
||||||
|
<form class="form-inline" method="get" id="monthselform" action="{% eventurl request.organizer "presale:organizer.index" %}">
|
||||||
|
<input type="hidden" name="style" value="calendar">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-4 hidden-xs">
|
<div class="col-sm-4 col-xs-12">
|
||||||
<a href="{% eventurl request.organizer "presale:organizer.calendar" year=before.year month=before.month %}"
|
<div class="btn-group" role="group">
|
||||||
|
<a href="{% eventurl request.organizer "presale:organizer.index" %}?style=list" type="button" class="btn btn-default">
|
||||||
|
<span class="fa fa-list"></span>
|
||||||
|
{% trans "List" %}
|
||||||
|
</a>
|
||||||
|
<a href="{% eventurl request.organizer "presale:organizer.index" %}?style=calendar" type="button"
|
||||||
|
class="btn btn-default active">
|
||||||
|
<span class="fa fa-calendar"></span>
|
||||||
|
{% trans "Calendar" %}
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<a href="{% eventurl request.organizer "presale:organizer.ical" %}?locale={{ request.LANGUAGE_CODE }}"
|
||||||
class="btn btn-default">
|
class="btn btn-default">
|
||||||
<span class="fa fa-arrow-left"></span>
|
<span class="fa fa-calendar-plus-o"></span>
|
||||||
{{ before|date:"F Y" }}
|
{% trans "iCal" %}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-4 col-xs-12 text-center">
|
<div class="col-sm-4 col-xs-12 text-center">
|
||||||
@@ -35,7 +48,12 @@
|
|||||||
</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 request.organizer "presale:organizer.calendar" year=after.year month=after.month %}"
|
<a href="{% eventurl request.organizer "presale:organizer.index" %}?style=calendar&year={{ before.year }}&month={{ before.month }}"
|
||||||
|
class="btn btn-default">
|
||||||
|
<span class="fa fa-arrow-left"></span>
|
||||||
|
{{ before|date:"F Y" }}
|
||||||
|
</a>
|
||||||
|
<a href="{% eventurl request.organizer "presale:organizer.index" %}?style=calendar&year={{ after.year }}&month={{ after.month }}"
|
||||||
class="btn btn-default">
|
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" }}
|
||||||
@@ -43,8 +61,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
{% include "pretixpresale/fragment_calendar.html" %}
|
{% include "pretixpresale/fragment_calendar.html" %}
|
||||||
|
|
||||||
{% if multiple_timezones %}
|
{% if multiple_timezones %}
|
||||||
<div class="alert alert-info">
|
<div class="alert alert-info">
|
||||||
{% blocktrans trimmed %}
|
{% blocktrans trimmed %}
|
||||||
@@ -52,13 +70,4 @@
|
|||||||
{% endblocktrans %}
|
{% endblocktrans %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<p class="text-center">
|
|
||||||
<a href="{% eventurl request.organizer "presale:organizer.ical" %}?locale={{ request.LANGUAGE_CODE }}"
|
|
||||||
class="btn btn-default">
|
|
||||||
<span class="fa fa-calendar"></span>
|
|
||||||
{% trans "Download calendar as iCal file" %}
|
|
||||||
</a>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
{% include "pretixpresale/pagination.html" %}
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@@ -8,18 +8,36 @@
|
|||||||
{% if organizer_homepage_text %}
|
{% if organizer_homepage_text %}
|
||||||
{{ organizer_homepage_text | rich_text }}
|
{{ organizer_homepage_text | rich_text }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% if "old" in request.GET %}
|
{% if "old" in request.GET %}
|
||||||
<h3>{% trans "Past events" %}</h3>
|
<h3>{% trans "Past events" %}</h3>
|
||||||
<p>
|
|
||||||
<small><a href="?">{% trans "Show upcoming" %}</a></small>
|
|
||||||
</p>
|
|
||||||
{% else %}
|
{% else %}
|
||||||
<h3>{% trans "Upcoming events" %}</h3>
|
<h3>{% trans "Upcoming events" %}</h3>
|
||||||
<p>
|
|
||||||
<small><a href="?old=1">{% trans "Show past events" %}</a></small>
|
|
||||||
</p>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
<div>
|
||||||
|
<div class="btn-group" role="group">
|
||||||
|
<a href="{% eventurl request.organizer "presale:organizer.index" %}?style=list" type="button"
|
||||||
|
class="btn btn-default active">
|
||||||
|
<span class="fa fa-list"></span>
|
||||||
|
{% trans "List" %}
|
||||||
|
</a>
|
||||||
|
<a href="{% eventurl request.organizer "presale:organizer.index" %}?style=calendar" type="button"
|
||||||
|
class="btn btn-default">
|
||||||
|
<span class="fa fa-calendar"></span>
|
||||||
|
{% trans "Calendar" %}
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<a href="{% eventurl request.organizer "presale:organizer.ical" %}?locale={{ request.LANGUAGE_CODE }}"
|
||||||
|
class="btn btn-default">
|
||||||
|
<span class="fa fa-calendar-plus-o"></span>
|
||||||
|
{% trans "iCal" %}
|
||||||
|
</a>
|
||||||
|
{% if "old" in request.GET %}
|
||||||
|
<a href="?style=list" class="btn btn-link">{% trans "Show upcoming" %}</a>
|
||||||
|
{% else %}
|
||||||
|
<a href="?style=list&old=1" class="btn btn-link">{% trans "Show past events" %}</a>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
<table class="table">
|
<table class="table">
|
||||||
<thead>
|
<thead>
|
||||||
|
|||||||
@@ -76,15 +76,9 @@ event_patterns = [
|
|||||||
|
|
||||||
organizer_patterns = [
|
organizer_patterns = [
|
||||||
url(r'^$', pretix.presale.views.organizer.OrganizerIndex.as_view(), name='organizer.index'),
|
url(r'^$', pretix.presale.views.organizer.OrganizerIndex.as_view(), name='organizer.index'),
|
||||||
url(r'^events/$',
|
|
||||||
pretix.presale.views.organizer.CalendarView.as_view(),
|
|
||||||
name='organizer.calendar'),
|
|
||||||
url(r'^events/ical/$',
|
url(r'^events/ical/$',
|
||||||
pretix.presale.views.organizer.OrganizerIcalDownload.as_view(),
|
pretix.presale.views.organizer.OrganizerIcalDownload.as_view(),
|
||||||
name='organizer.ical'),
|
name='organizer.ical'),
|
||||||
url(r'^events/(?P<year>[0-9]{4})/(?P<month>[0-9]{1,2})/$',
|
|
||||||
pretix.presale.views.organizer.CalendarView.as_view(),
|
|
||||||
name='organizer.calendar'),
|
|
||||||
]
|
]
|
||||||
|
|
||||||
locale_patterns = [
|
locale_patterns = [
|
||||||
|
|||||||
@@ -27,7 +27,8 @@ class OrganizerIndex(OrganizerViewMixin, ListView):
|
|||||||
paginate_by = 30
|
paginate_by = 30
|
||||||
|
|
||||||
def get(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
if request.organizer.settings.event_list_type == 'calendar':
|
style = request.GET.get("style", request.organizer.settings.event_list_type)
|
||||||
|
if style == "calendar":
|
||||||
cv = CalendarView()
|
cv = CalendarView()
|
||||||
cv.request = request
|
cv.request = request
|
||||||
return cv.get(request, *args, **kwargs)
|
return cv.get(request, *args, **kwargs)
|
||||||
|
|||||||
@@ -50,3 +50,6 @@
|
|||||||
background: darken($brand-primary, 15%);
|
background: darken($brand-primary, 15%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#monthselform .row > div {
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user