From d43e85da6dff8cef9d90c4ad43629e0e7c60d80c Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Mon, 29 Mar 2021 10:18:25 +0200 Subject: [PATCH] Add setting to hide sold-out timeslots --- src/pretix/api/serializers/event.py | 1 + src/pretix/base/settings.py | 9 +++++++++ src/pretix/control/forms/event.py | 2 ++ .../control/templates/pretixcontrol/event/settings.html | 5 ++++- src/pretix/presale/views/event.py | 5 +++++ src/pretix/presale/views/organizer.py | 7 ++++++- src/pretix/presale/views/widget.py | 6 ++++++ 7 files changed, 33 insertions(+), 2 deletions(-) diff --git a/src/pretix/api/serializers/event.py b/src/pretix/api/serializers/event.py index 9501ae7957..d79bef0a6d 100644 --- a/src/pretix/api/serializers/event.py +++ b/src/pretix/api/serializers/event.py @@ -628,6 +628,7 @@ class EventSettingsSerializer(SettingsSerializer): 'redirect_to_checkout_directly', 'frontpage_subevent_ordering', 'event_list_type', + 'event_list_available_only', 'frontpage_text', 'event_info_text', 'attendee_names_asked', diff --git a/src/pretix/base/settings.py b/src/pretix/base/settings.py index 254753c75d..bc71912170 100644 --- a/src/pretix/base/settings.py +++ b/src/pretix/base/settings.py @@ -1138,6 +1138,15 @@ DEFAULTS = { help_text=_('If your event series has more than 50 dates in the future, only the month or week calendar can be used.') ), }, + 'event_list_available_only': { + 'default': 'False', + 'type': bool, + 'form_class': forms.BooleanField, + 'serializer_class': serializers.BooleanField, + 'form_kwargs': dict( + label=_("Hide all unavailable dates from calendar or list views"), + ) + }, 'allow_modifications_after_checkin': { 'default': 'False', 'type': bool, diff --git a/src/pretix/control/forms/event.py b/src/pretix/control/forms/event.py index eb6143894c..4fc1a2a17e 100644 --- a/src/pretix/control/forms/event.py +++ b/src/pretix/control/forms/event.py @@ -463,6 +463,7 @@ class EventSettingsForm(SettingsForm): 'redirect_to_checkout_directly', 'frontpage_subevent_ordering', 'event_list_type', + 'event_list_available_only', 'frontpage_text', 'event_info_text', 'attendee_names_asked', @@ -547,6 +548,7 @@ class EventSettingsForm(SettingsForm): if not self.event.has_subevents: del self.fields['frontpage_subevent_ordering'] del self.fields['event_list_type'] + del self.fields['event_list_available_only'] # create "virtual" fields for better UX when editing _asked and _required fields self.virtual_keys = [] diff --git a/src/pretix/control/templates/pretixcontrol/event/settings.html b/src/pretix/control/templates/pretixcontrol/event/settings.html index 966ecd48b8..6e55f7801b 100644 --- a/src/pretix/control/templates/pretixcontrol/event/settings.html +++ b/src/pretix/control/templates/pretixcontrol/event/settings.html @@ -30,6 +30,7 @@ {% bootstrap_field sform.contact_mail layout="control" %} {% bootstrap_field sform.imprint_url layout="control" %} {% bootstrap_field form.is_public layout="control" %} + {% bootstrap_field form.sales_channels layout="control" %} {% if meta_forms %}