From 05d353076445acf36605fb404027dce70d9c087f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Sun, 3 Apr 2022 17:52:05 +0200 Subject: [PATCH] don't use is_ajax --- src/c3nav/editor/views/base.py | 2 +- src/c3nav/site/templates/site/about.html | 2 +- src/c3nav/site/views.py | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/c3nav/editor/views/base.py b/src/c3nav/editor/views/base.py index fd0c6124..7eb49258 100644 --- a/src/c3nav/editor/views/base.py +++ b/src/c3nav/editor/views/base.py @@ -43,7 +43,7 @@ def sidebar_view(func=None, select_related=None, api_hybrid=False): request.is_delete = request.method == 'DELETE' return call_api_hybrid_view_for_api(func, request, *args, **kwargs) - ajax = request.is_ajax() or 'ajax' in request.GET + ajax = request.headers.get('x-requested-with') == 'XMLHttpRequest' or 'ajax' in request.GET if not ajax: request.META.pop('HTTP_IF_NONE_MATCH', None) diff --git a/src/c3nav/site/templates/site/about.html b/src/c3nav/site/templates/site/about.html index 0c3a5bcb..df2faefc 100644 --- a/src/c3nav/site/templates/site/about.html +++ b/src/c3nav/site/templates/site/about.html @@ -3,7 +3,7 @@ {% block content %}
- {% if not request.mobileclient and not request.is_ajax %} + {% if not request.mobileclient and not ajax %} « {% trans 'back to c3nav' %} {% endif %}

{% trans 'About c3nav' %}

diff --git a/src/c3nav/site/views.py b/src/c3nav/site/views.py index fbacd48a..e41cb940 100644 --- a/src/c3nav/site/views.py +++ b/src/c3nav/site/views.py @@ -192,7 +192,8 @@ def qr_code(request, path): def close_response(request): - ajax = request.is_ajax() or 'ajax' in request.GET + # todo: use a better way to recognize this + ajax = request.headers.get('x-requested-with') == 'XMLHttpRequest' or 'ajax' in request.GET if ajax: return HttpResponse(json.dumps(get_user_data(request), cls=DjangoJSONEncoder).encode(), content_type='text/plain') @@ -355,6 +356,7 @@ def choose_language(request): @never_cache def about_view(request): return render(request, 'site/about.html', { + 'ajax': request.headers.get('x-requested-with') == 'XMLHttpRequest' or 'ajax' in request.GET, 'address': settings.IMPRINT_ADDRESS, 'patrons': settings.IMPRINT_PATRONS, 'team': settings.IMPRINT_TEAM,