diff --git a/src/pretix/control/context.py b/src/pretix/control/context.py index 2a6c2e2990..faff6ec376 100644 --- a/src/pretix/control/context.py +++ b/src/pretix/control/context.py @@ -12,7 +12,9 @@ from pretix.base.settings import GlobalSettingsObject from ..helpers.i18n import ( get_javascript_format, get_javascript_output_format, get_moment_locale, ) -from .signals import html_head, nav_event, nav_global, nav_topbar +from .signals import ( + html_head, nav_event, nav_event_settings, nav_global, nav_topbar, +) SessionStore = import_module(settings.SESSION_ENGINE).SessionStore @@ -44,6 +46,12 @@ def contextprocessor(request): if getattr(request, 'event', None) and hasattr(request, 'organizer') and request.user.is_authenticated: for receiver, response in nav_event.send(request.event, request=request): _nav_event += response + + ctx['nav_event_settings'] = [] + for recv, retv in nav_event_settings.send(sender=request.event, request=request): + ctx['nav_event_settings'] += retv + ctx['nav_event_settings'].sort(key=lambda n: n['label']) + if request.event.settings.get('payment_term_weekdays'): _js_payment_weekdays_disabled = '[0,6]' diff --git a/src/pretix/control/templates/pretixcontrol/event/base.html b/src/pretix/control/templates/pretixcontrol/event/base.html index 13bc8e58f5..dae2dc08cd 100644 --- a/src/pretix/control/templates/pretixcontrol/event/base.html +++ b/src/pretix/control/templates/pretixcontrol/event/base.html @@ -6,7 +6,7 @@ {% block nav %}
  • + {% if url_name == "event.index" %}class="active"{% endif %}> {% trans "Event dashboard" %} @@ -14,15 +14,84 @@ {% if 'can_change_event_settings' in request.eventpermset %}
  • + class="has-children"> {% trans "Settings" %} + + + +
  • {% if request.event.has_subevents %}
  • + {% if "event.subevent" in url_name %}class="active"{% endif %}> {% trans "Dates" context "subevent" %} @@ -32,7 +101,7 @@ {% if 'can_change_items' in request.eventpermset %}
  • + class="has-children"> {% trans "Products" %} @@ -42,24 +111,24 @@