Skip to content

Commit 5c28fa2

Browse files
JackScanlonieuans
andauthored
feat: cache org query (#1905)
Co-authored-by: ieuans <ieuans@users.noreply.github.com>
1 parent 31ccade commit 5c28fa2

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

CodeListLibrary_project/clinicalcode/views/Organisation.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from django.http.response import JsonResponse, Http404
1111
from django.core.exceptions import BadRequest, PermissionDenied
1212
from django.utils.decorators import method_decorator
13+
from django.views.decorators.vary import vary_on_headers
1314
from django.contrib.auth.decorators import login_required
1415

1516
import logging
@@ -376,7 +377,6 @@ def cancel_invite(self, request, *args, **kwargs):
376377
return gen_utils.jsonify_response(code=200)
377378

378379
''' View Organisation '''
379-
380380
class OrganisationView(TemplateView):
381381
# Specify how many items to return when computing popular entities
382382
MAX_POPULAR_ITEMS = 5
@@ -412,17 +412,28 @@ def get_context_data(self, *args, **kwargs):
412412

413413
return context | org_data
414414

415+
@method_decorator(vary_on_headers(
416+
'Cookie', 'Accept-Encoding',
417+
'X-Target', 'X-Requested-With'
418+
))
415419
def get(self, request, *args, **kwargs):
416420
if gen_utils.is_fetch_request(request):
417421
target = request.headers.get('X-Target', None)
418422
if target is not None and target in self.get_methods:
419423
target = getattr(self, target)
420424
return target(request, *args, **kwargs)
421-
425+
422426
context = self.get_context_data(*args, **kwargs)
423427
return render(request, self.template_name, context)
424428

425-
@method_decorator([login_required, permission_utils.redirect_readonly])
429+
@method_decorator([
430+
login_required,
431+
permission_utils.redirect_readonly,
432+
vary_on_headers(
433+
'Cookie', 'Accept-Encoding',
434+
'X-Target', 'X-Requested-With'
435+
)
436+
])
426437
def post(self, request, *args, **kwargs):
427438
if gen_utils.is_fetch_request(request):
428439
target = request.headers.get('X-Target', None)

0 commit comments

Comments
 (0)