forked from CGM_Public/pretix_original
Improve performance by not re-evaluating main context processors on
every template rendering in a signal receiver
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
# Generated by Django 3.0.4 on 2020-03-25 14:40
|
# Generated by Django 3.0.4 on 2020-03-25 14:40
|
||||||
|
|
||||||
from django.db import migrations, models
|
from django.db import migrations, models
|
||||||
from django.db.models import OuterRef, Count, Subquery, Q
|
from django.db.models import Count, OuterRef, Q, Subquery
|
||||||
from django.utils.timezone import now
|
from django.utils.timezone import now
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ from pretix.control.navigation import (
|
|||||||
from ..helpers.i18n import (
|
from ..helpers.i18n import (
|
||||||
get_javascript_format, get_javascript_output_format, get_moment_locale,
|
get_javascript_format, get_javascript_output_format, get_moment_locale,
|
||||||
)
|
)
|
||||||
|
from ..multidomain.urlreverse import get_event_domain
|
||||||
from .signals import html_head, nav_topbar
|
from .signals import html_head, nav_topbar
|
||||||
|
|
||||||
SessionStore = import_module(settings.SESSION_ENGINE).SessionStore
|
SessionStore = import_module(settings.SESSION_ENGINE).SessionStore
|
||||||
@@ -25,6 +26,12 @@ def contextprocessor(request):
|
|||||||
"""
|
"""
|
||||||
Adds data to all template contexts
|
Adds data to all template contexts
|
||||||
"""
|
"""
|
||||||
|
if not hasattr(request, '_pretix_control_default_context'):
|
||||||
|
request._pretix_control_default_context = _default_context(request)
|
||||||
|
return request._pretix_control_default_context
|
||||||
|
|
||||||
|
|
||||||
|
def _default_context(request):
|
||||||
try:
|
try:
|
||||||
url = resolve(request.path_info)
|
url = resolve(request.path_info)
|
||||||
except Resolver404:
|
except Resolver404:
|
||||||
@@ -51,7 +58,7 @@ def contextprocessor(request):
|
|||||||
if request.event.settings.get('payment_term_weekdays'):
|
if request.event.settings.get('payment_term_weekdays'):
|
||||||
_js_payment_weekdays_disabled = '[0,6]'
|
_js_payment_weekdays_disabled = '[0,6]'
|
||||||
|
|
||||||
ctx['has_domain'] = request.event.organizer.domains.exists()
|
ctx['has_domain'] = get_event_domain(request.event, fallback=True) is not None
|
||||||
|
|
||||||
if not request.event.testmode:
|
if not request.event.testmode:
|
||||||
with scope(organizer=request.organizer):
|
with scope(organizer=request.organizer):
|
||||||
|
|||||||
@@ -21,6 +21,12 @@ def contextprocessor(request):
|
|||||||
"""
|
"""
|
||||||
Adds data to all template contexts
|
Adds data to all template contexts
|
||||||
"""
|
"""
|
||||||
|
if not hasattr(request, '_pretix_presale_default_context'):
|
||||||
|
request._pretix_presale_default_context = _default_context(request)
|
||||||
|
return request._pretix_presale_default_context
|
||||||
|
|
||||||
|
|
||||||
|
def _default_context(request):
|
||||||
if request.path.startswith('/control'):
|
if request.path.startswith('/control'):
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user