|
10 | 10 | from django.http.response import JsonResponse, Http404 |
11 | 11 | from django.core.exceptions import BadRequest, PermissionDenied |
12 | 12 | from django.utils.decorators import method_decorator |
| 13 | +from django.views.decorators.vary import vary_on_headers |
13 | 14 | from django.contrib.auth.decorators import login_required |
14 | 15 |
|
15 | 16 | import logging |
@@ -376,7 +377,6 @@ def cancel_invite(self, request, *args, **kwargs): |
376 | 377 | return gen_utils.jsonify_response(code=200) |
377 | 378 |
|
378 | 379 | ''' View Organisation ''' |
379 | | - |
380 | 380 | class OrganisationView(TemplateView): |
381 | 381 | # Specify how many items to return when computing popular entities |
382 | 382 | MAX_POPULAR_ITEMS = 5 |
@@ -412,17 +412,28 @@ def get_context_data(self, *args, **kwargs): |
412 | 412 |
|
413 | 413 | return context | org_data |
414 | 414 |
|
| 415 | + @method_decorator(vary_on_headers( |
| 416 | + 'Cookie', 'Accept-Encoding', |
| 417 | + 'X-Target', 'X-Requested-With' |
| 418 | + )) |
415 | 419 | def get(self, request, *args, **kwargs): |
416 | 420 | if gen_utils.is_fetch_request(request): |
417 | 421 | target = request.headers.get('X-Target', None) |
418 | 422 | if target is not None and target in self.get_methods: |
419 | 423 | target = getattr(self, target) |
420 | 424 | return target(request, *args, **kwargs) |
421 | | - |
| 425 | + |
422 | 426 | context = self.get_context_data(*args, **kwargs) |
423 | 427 | return render(request, self.template_name, context) |
424 | 428 |
|
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 | + ]) |
426 | 437 | def post(self, request, *args, **kwargs): |
427 | 438 | if gen_utils.is_fetch_request(request): |
428 | 439 | target = request.headers.get('X-Target', None) |
|
0 commit comments