diff --git a/src/pretix/control/context.py b/src/pretix/control/context.py index 6a0d8a450d..d7db605fb0 100644 --- a/src/pretix/control/context.py +++ b/src/pretix/control/context.py @@ -1,4 +1,5 @@ import sys +from importlib import import_module from django.conf import settings from django.core.urlresolvers import Resolver404, get_script_prefix, resolve @@ -8,6 +9,8 @@ from pretix.base.settings import GlobalSettingsObject from .signals import html_head, nav_event, nav_global, nav_topbar from .utils.i18n import get_javascript_format, get_moment_locale +SessionStore = import_module(settings.SESSION_ENGINE).SessionStore + def contextprocessor(request): """ @@ -38,6 +41,22 @@ def contextprocessor(request): _nav_event += response if request.event.settings.get('payment_term_weekdays'): _js_payment_weekdays_disabled = '[0,6]' + + ctx['has_domain'] = request.event.organizer.domains.exists() + + if not request.event.live and ctx['has_domain']: + child_sess = request.session.get('child_session_{}'.format(request.event.pk)) + s = SessionStore() + if not child_sess or not s.exists(child_sess): + s['pretix_event_access_{}'.format(request.event.pk)] = request.session.session_key + s.create() + ctx['new_session'] = s.session_key + request.session['child_session_{}'.format(request.event.pk)] = s.session_key + request.session['event_access'] = True + else: + ctx['new_session'] = child_sess + request.session['event_access'] = True + ctx['nav_event'] = _nav_event ctx['js_payment_weekdays_disabled'] = _js_payment_weekdays_disabled @@ -45,6 +64,7 @@ def contextprocessor(request): if not hasattr(request, 'event'): for receiver, response in nav_global.send(request, request=request): _nav_global += response + ctx['nav_global'] = sorted(_nav_global, key=lambda n: n['label']) _nav_topbar = [] diff --git a/src/pretix/control/views/dashboards.py b/src/pretix/control/views/dashboards.py index 1fbd10fe9a..ddd9be19a2 100644 --- a/src/pretix/control/views/dashboards.py +++ b/src/pretix/control/views/dashboards.py @@ -1,7 +1,5 @@ from decimal import Decimal -from importlib import import_module -from django.conf import settings from django.contrib.contenttypes.models import ContentType from django.core.urlresolvers import reverse from django.db.models import Sum @@ -21,7 +19,6 @@ from pretix.control.signals import ( from ..logdisplay import OVERVIEW_BLACKLIST -SessionStore = import_module(settings.SESSION_ENGINE).SessionStore NUM_WIDGET = '
{num}{text}
' @@ -238,22 +235,12 @@ def event_index(request, organizer, event): a_qs = request.event.requiredaction_set.filter(done=False) - has_domain = request.event.organizer.domains.exists() - ctx = { 'widgets': rearrange(widgets), 'logs': qs[:5], 'actions': a_qs[:5] if can_change_orders else [], - 'has_domain': has_domain } - if not request.event.live and has_domain: - s = SessionStore() - s['pretix_event_access_{}'.format(request.event.pk)] = request.session.session_key - s.create() - ctx['new_session'] = s.session_key - request.session['event_access'] = True - for a in ctx['actions']: a.display = a.display(request) diff --git a/src/pretix/static/pretixcontrol/scss/main.scss b/src/pretix/static/pretixcontrol/scss/main.scss index 6871349e2e..e6509fcac3 100644 --- a/src/pretix/static/pretixcontrol/scss/main.scss +++ b/src/pretix/static/pretixcontrol/scss/main.scss @@ -51,6 +51,9 @@ nav.navbar .danger, nav.navbar .danger:hover, nav.navbar .danger:active { padding: 15px; min-height: 50px; border: none; + &:hover, &:active { + text-decoration: none; + } } .product-row {