From 0c4368170f58046c75b42b1bc723fc26bd0db997 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Tue, 14 Jun 2016 13:05:47 +0200 Subject: [PATCH] Added hook for links in the footer --- doc/development/api/general.rst | 5 +++++ src/pretix/presale/context.py | 6 +++++- src/pretix/presale/signals.py | 7 +++++++ src/pretix/presale/templates/pretixpresale/event/base.html | 4 ++++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/doc/development/api/general.rst b/doc/development/api/general.rst index 9553bd7701..fcad5e0c14 100644 --- a/doc/development/api/general.rst +++ b/doc/development/api/general.rst @@ -35,6 +35,11 @@ in pretix. ``pretix.control.signals.nav_event`` The sidebar navigation when the admin has selected an event. +Footer links +------------ +The signal ``pretix.presale.signals.footer_links`` allows you to add links to the footer of an event page. You +are expected to return a dictionary containing the keys ``label`` and ``url``. + Order events ------------ diff --git a/src/pretix/presale/context.py b/src/pretix/presale/context.py index eeac785335..e2b4a4322a 100644 --- a/src/pretix/presale/context.py +++ b/src/pretix/presale/context.py @@ -1,7 +1,7 @@ from django.conf import settings from django.core.urlresolvers import Resolver404, resolve -from .signals import html_head +from .signals import footer_link, html_head def contextprocessor(request): @@ -18,10 +18,14 @@ def contextprocessor(request): ctx = { } _html_head = [] + _footer = [] if hasattr(request, 'event'): for receiver, response in html_head.send(request.event, request=request): _html_head.append(response) + for receiver, response in footer_link.send(request.event, request=request): + _footer.append(response) ctx['html_head'] = "".join(_html_head) + ctx['footer'] = _footer ctx['site_url'] = settings.SITE_URL return ctx diff --git a/src/pretix/presale/signals.py b/src/pretix/presale/signals.py index c16afa3b60..65ebe35d8f 100644 --- a/src/pretix/presale/signals.py +++ b/src/pretix/presale/signals.py @@ -7,6 +7,13 @@ html_head = EventPluginSignal( providing_args=["request"] ) +""" +This signal is sent out to include links in the footer +""" +footer_link = EventPluginSignal( + providing_args=["request"] +) + """ This signal is sent out to retrieve pages for the checkout flow """ diff --git a/src/pretix/presale/templates/pretixpresale/event/base.html b/src/pretix/presale/templates/pretixpresale/event/base.html index a02f42f1c0..d00ae093e9 100644 --- a/src/pretix/presale/templates/pretixpresale/event/base.html +++ b/src/pretix/presale/templates/pretixpresale/event/base.html @@ -58,4 +58,8 @@ {% trans "Imprint" %} · {% endif %} + {% for f in footer %} + {{ f.label }} + · + {% endfor %} {% endblock %}