Projet

Général

Profil

0001-django4-replaced-deprecated-request.is_ajax-call-685.patch

A. Berriot, 31 août 2022 16:35

Télécharger (5,04 ko)

Voir les différences:

Subject: [PATCH 1/2] django4: replaced deprecated request.is_ajax() call
 (#68585)

 combo/apps/dashboard/views.py | 3 ++-
 combo/apps/lingo/views.py     | 4 ++--
 combo/manager/views.py        | 4 ++--
 combo/public/views.py         | 4 ++--
 combo/utils/__init__.py       | 2 +-
 combo/utils/misc.py           | 4 ++++
 6 files changed, 13 insertions(+), 8 deletions(-)
combo/apps/dashboard/views.py
37 37

  
38 38
from combo.data.models import CellBase, ConfigJsonCell
39 39
from combo.public.views import render_cell
40
from combo.utils import is_ajax
40 41

  
41 42
from .models import DashboardCell, Tile
42 43
from .templatetags.dashboard import get_cell_data
......
45 46
def dashboard_success(request, dashboard, cell_data):
46 47
    dashboard_url = dashboard.page.get_online_url()
47 48

  
48
    if request.is_ajax():
49
    if is_ajax(request):
49 50
        return HttpResponse(
50 51
            json.dumps({'err': 0, 'url': request.build_absolute_uri(dashboard_url), 'cell_data': cell_data}),
51 52
            content_type='application/json',
combo/apps/lingo/views.py
49 49
from combo.data.models import Page
50 50
from combo.profile.utils import get_user_from_name_id
51 51
from combo.public.views import publish_page
52
from combo.utils import DecryptionError, aes_hex_decrypt, check_request_signature
52
from combo.utils import DecryptionError, aes_hex_decrypt, check_request_signature, is_ajax
53 53

  
54 54
from .models import (
55 55
    EXPIRED,
......
844 844
            return {'item': None, 'err_desc': _('No item was found.')}
845 845

  
846 846
    def get_template_names(self):
847
        if self.request.is_ajax:
847
        if is_ajax(self.request):
848 848
            return ['lingo/combo/item.html']
849 849
        return ['lingo/combo/invoice_fullpage.html']
850 850

  
combo/manager/views.py
66 66
    import_site_tar,
67 67
)
68 68
from combo.urls_utils import staff_required
69
from combo.utils.misc import is_portal_agent
69
from combo.utils.misc import is_ajax, is_portal_agent
70 70

  
71 71
from .forms import (
72 72
    CellDuplicateForm,
......
1043 1043
        return self.model().get_form_class_for_link_list_cell()
1044 1044

  
1045 1045
    def form_valid(self, form):
1046
        if self.request.is_ajax():
1046
        if is_ajax(self.request):
1047 1047
            self.object = form.save()
1048 1048
            response = self.form_invalid(form)  # avoid redirection
1049 1049
        else:
combo/public/views.py
141 141
            action_response = cell.post(request)
142 142
        except PostException as e:
143 143
            exception = e
144
            if not request.is_ajax():
144
            if not utils.is_ajax(request):
145 145
                messages.error(request, force_str(e) if force_str(e) != 'None' else _('Error sending data.'))
146 146

  
147 147
        if action_response:
......
152 152
                response['Content-Disposition'] = action_response.headers['Content-Disposition']
153 153
            return response
154 154

  
155
        if not request.is_ajax():
155
        if not utils.is_ajax(request):
156 156
            return HttpResponseRedirect(cell.page.get_online_url())
157 157

  
158 158
    response = render_cell(request, cell)
combo/utils/__init__.py
17 17
# import specific symbols for compatibility
18 18
from .cache import cache_during_request
19 19
from .crypto import DecryptionError, aes_hex_decrypt, aes_hex_encrypt
20
from .misc import ellipsize, flatten_context
20
from .misc import ellipsize, flatten_context, is_ajax
21 21
from .requests_wrapper import NothingInCacheException, requests
22 22
from .signature import check_query, check_request_signature, sign_url
23 23
from .urls import TemplateError, get_templated_url, is_templated_url
combo/utils/misc.py
64 64
            if service.get('is-portal-agent') and not service.get('secret'):
65 65
                return True
66 66
    return False
67

  
68

  
69
def is_ajax(request):
70
    return request.headers.get('x-requested-with') == 'XMLHttpRequest'
67
-