diff --git a/src/pretix/base/settings.py b/src/pretix/base/settings.py index 2ecc041f92..f2229a8212 100644 --- a/src/pretix/base/settings.py +++ b/src/pretix/base/settings.py @@ -933,6 +933,23 @@ DEFAULTS = { "is over. You can use it to describe other options to get a ticket, such as a box office.") ) }, + 'event_list_empty_text': { + 'default': LazyI18nString.from_gettext( + gettext_noop('No dates match your criteria.'), + ), + 'type': LazyI18nString, + 'form_class': I18nFormField, + 'serializer_class': I18nField, + 'form_kwargs': dict( + label=pgettext_lazy("subevents", "Text for empty date results"), + widget=I18nMarkdownTextarea, + widget_kwargs={'attrs': {'rows': '2'}}, + help_text=pgettext_lazy("subevents", "This text will be shown if the calendar or list of dates is empty, " + "e.g. because a month does not contain any dates or a filter chosen by the user does " + "not find any results. You can use this to advertise ways to get in touch with you to " + "arrange further dates. We do not recommend more than one or two sentences.") + ) + }, 'payment_explanation': { 'default': '', 'type': LazyI18nString, diff --git a/src/pretix/control/forms/event.py b/src/pretix/control/forms/event.py index 9ec45c9876..f524ea3181 100644 --- a/src/pretix/control/forms/event.py +++ b/src/pretix/control/forms/event.py @@ -600,6 +600,7 @@ class EventSettingsForm(EventSettingsValidationMixin, FormPlaceholderMixin, Sett 'imprint_url', 'checkout_email_helptext', 'presale_has_ended_text', + 'event_list_empty_text', 'voucher_explanation_text', 'checkout_success_text', 'show_dates_on_frontpage', @@ -734,6 +735,7 @@ class EventSettingsForm(EventSettingsValidationMixin, FormPlaceholderMixin, Sett del self.fields['event_list_available_only'] del self.fields['event_list_filters'] del self.fields['event_calendar_future_only'] + del self.fields['event_list_empty_text'] self.fields['primary_font'].choices = [('Open Sans', 'Open Sans')] + sorted([ (a, FontSelect.FontOption(title=a, data=v)) for a, v in get_fonts(self.event, pdf_support_required=False).items() ], key=lambda a: a[0]) diff --git a/src/pretix/control/templates/pretixcontrol/event/settings.html b/src/pretix/control/templates/pretixcontrol/event/settings.html index 8077e57189..09289a6573 100644 --- a/src/pretix/control/templates/pretixcontrol/event/settings.html +++ b/src/pretix/control/templates/pretixcontrol/event/settings.html @@ -275,6 +275,9 @@ {% bootstrap_field sform.event_calendar_future_only layout="control" %} {% endif %} {% bootstrap_field sform.low_availability_percentage layout="control" addon_after="%" %} + {% if sform.event_list_empty_text %} + {% bootstrap_field sform.event_list_empty_text layout="control" %} + {% endif %}

{% trans "Order details" %}

diff --git a/src/pretix/presale/templates/pretixpresale/event/fragment_subevent_calendar.html b/src/pretix/presale/templates/pretixpresale/event/fragment_subevent_calendar.html index 7402b12a54..9529763066 100644 --- a/src/pretix/presale/templates/pretixpresale/event/fragment_subevent_calendar.html +++ b/src/pretix/presale/templates/pretixpresale/event/fragment_subevent_calendar.html @@ -2,6 +2,7 @@ {% load eventurl %} {% load icon %} {% load urlreplace %} +{% load rich_text %} -{% include "pretixpresale/fragment_calendar.html" with show_avail=event.settings.event_list_availability weeks=subevent_list.weeks show_names=subevent_list.show_names %} +
+ {% include "pretixpresale/fragment_calendar.html" with show_avail=event.settings.event_list_availability weeks=subevent_list.weeks show_names=subevent_list.show_names any_events=subevent_list.any_events %} + {% if subevent_list.any_events is False %} +
+ + {{ event.settings.event_list_empty_text|rich_text }} +
+ {% endif %} +
diff --git a/src/pretix/presale/templates/pretixpresale/event/fragment_subevent_calendar_week.html b/src/pretix/presale/templates/pretixpresale/event/fragment_subevent_calendar_week.html index fb53d66e3d..1104882231 100644 --- a/src/pretix/presale/templates/pretixpresale/event/fragment_subevent_calendar_week.html +++ b/src/pretix/presale/templates/pretixpresale/event/fragment_subevent_calendar_week.html @@ -2,6 +2,7 @@ {% load eventurl %} {% load icon %} {% load urlreplace %} +{% load rich_text %} -{% include "pretixpresale/fragment_week_calendar.html" with show_avail=event.settings.event_list_availability days=subevent_list.days show_names=subevent_list.show_names %} +
+ {% include "pretixpresale/fragment_week_calendar.html" with show_avail=event.settings.event_list_availability days=subevent_list.days show_names=subevent_list.show_names any_events=subevent_list.any_events %} + {% if subevent_list.any_events is False %} +
+ + {{ event.settings.event_list_empty_text|rich_text }} +
+ {% endif %} +
{% for subev in subevent_list.subevent_list %} @@ -43,5 +44,10 @@

+{% empty %} +
+ + {{ event.settings.event_list_empty_text|rich_text }} +
{% endfor %}
diff --git a/src/pretix/presale/templates/pretixpresale/event/index.html b/src/pretix/presale/templates/pretixpresale/event/index.html index 347540babe..6af24a65a8 100644 --- a/src/pretix/presale/templates/pretixpresale/event/index.html +++ b/src/pretix/presale/templates/pretixpresale/event/index.html @@ -74,7 +74,7 @@ {% endif %} - {% if subevent_list.list_type != "list" or subevent_list.visible_events %} + {% if subevent_list.list_type != "list" or subevent_list.visible_events or "filtered" in request.GET %} {% if subevent_list_foldable %}
diff --git a/src/pretix/presale/templates/pretixpresale/fragment_calendar.html b/src/pretix/presale/templates/pretixpresale/fragment_calendar.html index 01ee380552..a30fc9f7a0 100644 --- a/src/pretix/presale/templates/pretixpresale/fragment_calendar.html +++ b/src/pretix/presale/templates/pretixpresale/fragment_calendar.html @@ -3,7 +3,7 @@ {% load date_fast %} {% load calendarhead %}
- +
diff --git a/src/pretix/presale/templates/pretixpresale/fragment_week_calendar.html b/src/pretix/presale/templates/pretixpresale/fragment_week_calendar.html index 6f9effff65..d1195eec55 100644 --- a/src/pretix/presale/templates/pretixpresale/fragment_week_calendar.html +++ b/src/pretix/presale/templates/pretixpresale/fragment_week_calendar.html @@ -1,7 +1,7 @@ {% load html_time %} {% load i18n %} {% load date_fast %} -
+