diff --git a/apps/dashboard/views.py b/apps/dashboard/views.py index 41de1bd7..462ec4a5 100644 --- a/apps/dashboard/views.py +++ b/apps/dashboard/views.py @@ -14,7 +14,7 @@ from .forms import PeriodForm, PERIOD_DELTAS -@cache_page() +@cache_page def dashboard(request): """Front page view.""" search_form = ReporterSearchForm() @@ -40,7 +40,7 @@ def wrapped(request, period='1d', *args, **kwargs): return wrapped -@cache_page() +@cache_page @period_to_date def sentiment(request, date_start, date_end): """AJAX action returning a summary of positive/negative sentiments.""" @@ -50,7 +50,7 @@ def sentiment(request, date_start, date_end): return jingo.render(request, 'dashboard/sentiments.html', data) -@cache_page() +@cache_page @period_to_date def trends(request, date_start, date_end): """AJAX action returning a summary of frequent terms.""" @@ -62,7 +62,7 @@ def trends(request, date_start, date_end): return jingo.render(request, 'dashboard/trends.html', data) -@cache_page() +@cache_page @period_to_date def demographics(request, date_start, date_end): """AJAX action returning an OS/locale summary.""" @@ -72,7 +72,7 @@ def demographics(request, date_start, date_end): return jingo.render(request, 'dashboard/demographics.html', data) -@cache_page() +@cache_page def messages(request, count=settings.MESSAGES_COUNT): """AJAX action returning the most recent messages.""" opinions = Opinion.objects.filter( diff --git a/apps/feedback/views.py b/apps/feedback/views.py index ea3879c9..116250a6 100644 --- a/apps/feedback/views.py +++ b/apps/feedback/views.py @@ -40,7 +40,7 @@ def wrapped(request, *args, **kwargs): @vary_on_headers('User-Agent') @enforce_user_agent -@cache_page() +@cache_page def give_feedback(request, ua, positive): """Feedback page (positive or negative).""" diff --git a/apps/input/decorators.py b/apps/input/decorators.py index fcd0d428..de2adaff 100644 --- a/apps/input/decorators.py +++ b/apps/input/decorators.py @@ -11,8 +11,15 @@ def cache_page(cache_timeout=None, use_get=False, **kwargs): Cache an entire page with a cache prefix based on the Site ID and (optionally) the GET parameters. """ + # If the first argument is a callable, we've used the decorator without + # args. + if callable(cache_timeout): + f = cache_timeout + return cache_page()(f) + if cache_timeout is None: cache_timeout = settings.CACHE_DEFAULT_PERIOD + def key_prefix(request): prefix = '%ss%d:' % (settings.CACHE_PREFIX, settings.SITE_ID) if use_get: