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( event_list_type = forms.ChoiceField(
label=_('Event overview stile'), label=_('Default overview style'),
choices=( choices=(
('list', _('List')), ('list', _('List')),
('calendar', _('Calendar')) ('calendar', _('Calendar'))

View File

@@ -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>

View File

@@ -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 %}

View File

@@ -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>

View File

@@ -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 = [

View File

@@ -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)

View File

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