From 618b67ca2f23cf011a4fc3c7eed8e49f72c46c94 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Fri, 25 Jun 2021 11:26:04 +0200 Subject: [PATCH] Add meta_noindex setting on organizer level --- src/pretix/control/forms/organizer.py | 1 + .../control/templates/pretixcontrol/event/settings.html | 5 ++++- .../control/templates/pretixcontrol/organizers/edit.html | 1 + .../presale/templates/pretixpresale/organizers/base.html | 7 +++++++ src/pretix/presale/views/event.py | 2 ++ src/pretix/presale/views/organizer.py | 2 ++ 6 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/pretix/control/forms/organizer.py b/src/pretix/control/forms/organizer.py index 6317aa12e..b4b43775f 100644 --- a/src/pretix/control/forms/organizer.py +++ b/src/pretix/control/forms/organizer.py @@ -298,6 +298,7 @@ class OrganizerSettingsForm(SettingsForm): 'giftcard_expiry_years', 'locales', 'region', + 'meta_noindex', 'event_team_provisioning', 'primary_color', 'theme_color_success', diff --git a/src/pretix/control/templates/pretixcontrol/event/settings.html b/src/pretix/control/templates/pretixcontrol/event/settings.html index cec8e4ac1..2185e33a5 100644 --- a/src/pretix/control/templates/pretixcontrol/event/settings.html +++ b/src/pretix/control/templates/pretixcontrol/event/settings.html @@ -231,7 +231,10 @@ {% bootstrap_field sform.display_net_prices layout="control" %} {% bootstrap_field sform.show_variations_expanded layout="control" %} {% bootstrap_field sform.hide_sold_out layout="control" %} - {% bootstrap_field sform.meta_noindex layout="control" %} + {% url "control:organizer.edit" organizer=request.organizer.slug as org_url %} + {% propagated request.event org_url "meta_noindex" %} + {% bootstrap_field sform.meta_noindex layout="control" %} + {% endpropagated %} {% if sform.frontpage_subevent_ordering %} {% bootstrap_field sform.frontpage_subevent_ordering layout="control" %} {% endif %} diff --git a/src/pretix/control/templates/pretixcontrol/organizers/edit.html b/src/pretix/control/templates/pretixcontrol/organizers/edit.html index 1c81eee19..d1e6a8361 100644 --- a/src/pretix/control/templates/pretixcontrol/organizers/edit.html +++ b/src/pretix/control/templates/pretixcontrol/organizers/edit.html @@ -45,6 +45,7 @@ {% bootstrap_field sform.event_list_type layout="control" %} {% bootstrap_field sform.event_list_availability layout="control" %} {% bootstrap_field sform.organizer_link_back layout="control" %} + {% bootstrap_field sform.meta_noindex layout="control" %}
{% trans "Localization" %} diff --git a/src/pretix/presale/templates/pretixpresale/organizers/base.html b/src/pretix/presale/templates/pretixpresale/organizers/base.html index 4619cdc4b..d58ae1ce8 100644 --- a/src/pretix/presale/templates/pretixpresale/organizers/base.html +++ b/src/pretix/presale/templates/pretixpresale/organizers/base.html @@ -7,6 +7,13 @@ {% block thetitle %} {% block title %}{% endblock %}{% if url_name != "organizer.index" %} :: {% endif %}{{ organizer.name }} {% endblock %} +{% block custom_header %} + {% if organizer.settings.meta_noindex %} + + {% endif %} + + {{ block.super }} +{% endblock %} {% block above %} {% if organizer.settings.locales|length > 1 or request.organizer.settings.customer_accounts %} {% if organizer.settings.theme_color_background|upper != "#FFFFFF" or organizer.settings.organizer_logo_image_large %} diff --git a/src/pretix/presale/views/event.py b/src/pretix/presale/views/event.py index 14efb8778..3a292a6e1 100644 --- a/src/pretix/presale/views/event.py +++ b/src/pretix/presale/views/event.py @@ -635,6 +635,8 @@ class EventIcalDownload(EventViewMixin, View): resp['Content-Disposition'] = 'attachment; filename="{}-{}-{}.ics"'.format( event.organizer.slug, event.slug, subevent.pk if subevent else '0', ) + if event.settings.meta_noindex: + resp['X-Robots-Tag'] = 'noindex' return resp diff --git a/src/pretix/presale/views/organizer.py b/src/pretix/presale/views/organizer.py index e8ef4b018..9fd209e28 100644 --- a/src/pretix/presale/views/organizer.py +++ b/src/pretix/presale/views/organizer.py @@ -765,4 +765,6 @@ class OrganizerIcalDownload(OrganizerViewMixin, View): resp['Content-Disposition'] = 'attachment; filename="{}.ics"'.format( request.organizer.slug ) + if request.organizer.settings.meta_noindex: + resp['X-Robots-Tag'] = 'noindex' return resp