From 11abf83a7f0da5583cbfccd2f5fd81b7204794f3 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Mon, 19 Sep 2016 17:53:41 +0200 Subject: [PATCH] Added caching for eventreverse --- src/pretix/multidomain/urlreverse.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/pretix/multidomain/urlreverse.py b/src/pretix/multidomain/urlreverse.py index b27b95660c..85b74ffad1 100644 --- a/src/pretix/multidomain/urlreverse.py +++ b/src/pretix/multidomain/urlreverse.py @@ -57,6 +57,13 @@ def eventreverse(obj, name, kwargs=None): """ from pretix.multidomain import subdomain_urlconf, maindomain_urlconf + c = None + if not kwargs: + c = obj.get_cache() + url = c.get('urlrev_{}'.format(name)) + if url: + return url + kwargs = kwargs or {} if isinstance(obj, Event): kwargs['event'] = obj.slug @@ -77,7 +84,10 @@ def eventreverse(obj, name, kwargs=None): return urljoin('%s://%s' % (siteurlsplit.scheme, domain), path) kwargs['organizer'] = organizer.slug - return reverse(name, kwargs=kwargs, urlconf=maindomain_urlconf) + url = reverse(name, kwargs=kwargs, urlconf=maindomain_urlconf) + if not kwargs and c: + c.set('urlrev_{}'.format(url), url) + return url def build_absolute_uri(obj, urlname, kwargs=None):