List and calendar for all organizers

This commit is contained in:
Raphael Michel
2017-08-24 17:13:22 +02:00
parent cd6b1a2327
commit d697381d8b
7 changed files with 58 additions and 32 deletions

View File

@@ -135,7 +135,7 @@ class OrganizerSettingsForm(SettingsForm):
)
event_list_type = forms.ChoiceField(
label=_('Event overview stile'),
label=_('Default overview style'),
choices=(
('list', _('List')),
('calendar', _('Calendar'))

View File

@@ -1,5 +1,6 @@
{% extends "pretixcontrol/base.html" %}
{% load i18n %}
{% load eventurl %}
{% block title %}{% trans "Organizers" %}{% endblock %}
{% block content %}
<h1>{% trans "Organizers" %}</h1>

View File

@@ -9,14 +9,27 @@
{{ organizer_homepage_text | rich_text }}
{% endif %}
</div>
<h3 class="text-center">{{ date|date:"F Y" }}</h3>
<form class="form-inline" method="get" id="monthselform" action="{% eventurl request.organizer "presale:organizer.calendar" %}">
<div class="clearfix"></div>
<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="col-sm-4 hidden-xs">
<a href="{% eventurl request.organizer "presale:organizer.calendar" year=before.year month=before.month %}"
<div class="col-sm-4 col-xs-12">
<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">
<span class="fa fa-arrow-left"></span>
{{ before|date:"F Y" }}
<span class="fa fa-calendar-plus-o"></span>
{% trans "iCal" %}
</a>
</div>
<div class="col-sm-4 col-xs-12 text-center">
@@ -35,7 +48,12 @@
</button>
</div>
<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">
<span class="fa fa-arrow-right"></span>
{{ after|date:"F Y" }}
@@ -43,8 +61,8 @@
</div>
</div>
</form>
{% include "pretixpresale/fragment_calendar.html" %}
{% if multiple_timezones %}
<div class="alert alert-info">
{% blocktrans trimmed %}
@@ -52,13 +70,4 @@
{% endblocktrans %}
</div>
{% 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 %}

View File

@@ -8,18 +8,36 @@
{% if organizer_homepage_text %}
{{ organizer_homepage_text | rich_text }}
{% endif %}
</div>
</div>
{% if "old" in request.GET %}
<h3>{% trans "Past events" %}</h3>
<p>
<small><a href="?">{% trans "Show upcoming" %}</a></small>
</p>
{% else %}
<h3>{% trans "Upcoming events" %}</h3>
<p>
<small><a href="?old=1">{% trans "Show past events" %}</a></small>
</p>
{% 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">
<table class="table">
<thead>

View File

@@ -76,15 +76,9 @@ event_patterns = [
organizer_patterns = [
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/$',
pretix.presale.views.organizer.OrganizerIcalDownload.as_view(),
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 = [

View File

@@ -27,7 +27,8 @@ class OrganizerIndex(OrganizerViewMixin, ListView):
paginate_by = 30
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.request = request
return cv.get(request, *args, **kwargs)

View File

@@ -50,3 +50,6 @@
background: darken($brand-primary, 15%);
}
}
#monthselform .row > div {
margin-bottom: 15px;
}