set Cache-Control header for restricted views
[qcg-portal.git] / qcg / utils.py
index 6140e7b..44de96f 100644 (file)
@@ -1,11 +1,16 @@
 # coding=utf-8
+
+from functools import wraps
+
 import os
 import string
 import random
 
+from django.contrib.auth.decorators import login_required
 from django.core.paginator import Paginator
 from django.utils.formats import date_format
 from django.utils.timezone import localtime
+from django.views.decorators.cache import cache_control
 from pyqcg import QCG
 from pyqcg.utils import Credential
 from pyqcg.description import JobDescription
@@ -186,3 +191,7 @@ def to_form_data(xml):
             params['postprocess_cmd'] = desc.postprocess
 
     return params
+
+
+def restricted(view):
+    return wraps(view)(cache_control(no_cache=True, must_revalidate=True, no_store=True)(login_required(view)))