diff --git a/src/pretix/api/serializers/event.py b/src/pretix/api/serializers/event.py index 55faed33b..0825a8dee 100644 --- a/src/pretix/api/serializers/event.py +++ b/src/pretix/api/serializers/event.py @@ -555,6 +555,7 @@ class EventSettingsSerializer(serializers.Serializer): 'meta_noindex', 'redirect_to_checkout_directly', 'frontpage_subevent_ordering', + 'event_list_type', 'frontpage_text', 'attendee_names_asked', 'attendee_names_required', diff --git a/src/pretix/base/settings.py b/src/pretix/base/settings.py index e07c979aa..bdddf0072 100644 --- a/src/pretix/base/settings.py +++ b/src/pretix/base/settings.py @@ -880,7 +880,22 @@ DEFAULTS = { }, 'event_list_type': { 'default': 'list', - 'type': str + 'type': str, + 'form_class': forms.ChoiceField, + 'serializer_class': serializers.ChoiceField, + 'serializer_kwargs': dict( + choices=( + ('list', _('List')), + ('calendar', _('Calendar')) + ) + ), + 'form_kwargs': dict( + label=_('Default overview style'), + choices=( + ('list', _('List')), + ('calendar', _('Calendar')) + ) + ), }, 'last_order_modification_date': { 'default': None, diff --git a/src/pretix/control/forms/event.py b/src/pretix/control/forms/event.py index 001337a17..af14971ab 100644 --- a/src/pretix/control/forms/event.py +++ b/src/pretix/control/forms/event.py @@ -510,6 +510,7 @@ class EventSettingsForm(SettingsForm): 'meta_noindex', 'redirect_to_checkout_directly', 'frontpage_subevent_ordering', + 'event_list_type', 'frontpage_text', 'attendee_names_asked', 'attendee_names_required', @@ -557,6 +558,7 @@ class EventSettingsForm(SettingsForm): ] if not self.event.has_subevents: del self.fields['frontpage_subevent_ordering'] + del self.fields['event_list_type'] self.fields['primary_font'].choices += [ (a, {"title": a, "data": v}) for a, v in get_fonts().items() ] diff --git a/src/pretix/control/templates/pretixcontrol/event/settings.html b/src/pretix/control/templates/pretixcontrol/event/settings.html index 03647b725..7ffdc9337 100644 --- a/src/pretix/control/templates/pretixcontrol/event/settings.html +++ b/src/pretix/control/templates/pretixcontrol/event/settings.html @@ -141,6 +141,9 @@ {% if sform.frontpage_subevent_ordering %} {% bootstrap_field sform.frontpage_subevent_ordering layout="control" %} {% endif %} + {% if sform.event_list_type %} + {% bootstrap_field sform.event_list_type layout="control" %} + {% endif %}