Projet

Général

Profil

0001-wcs-pass-ip-of-client-to-tracking-code-API-35384.patch

Benjamin Dauvergne, 13 août 2019 12:46

Télécharger (2,19 ko)

Voir les différences:

Subject: [PATCH] wcs: pass ip of client to tracking-code API (#35384)

 combo/apps/wcs/views.py | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)
combo/apps/wcs/views.py
41 41
        return super(TrackingCodeView, self).dispatch(*args, **kwargs)
42 42

  
43 43
    @classmethod
44
    def search(self, code, wcs_site=None):
44
    def search(self, code, ip=None, wcs_site=None):
45 45
        code = code.strip().upper()
46 46
        if wcs_site:
47 47
            wcs_sites = [get_wcs_services().get(wcs_site)]
......
49 49
            wcs_sites = get_wcs_services().values()
50 50

  
51 51
        for wcs_site in wcs_sites:
52
            response = requests.get('/api/code/' + urlquote(code),
53
                    remote_service=wcs_site, log_errors=False)
52
            url = '/api/code/' + urlquote(code)
53
            if ip:
54
                url += '?ip=' + urlquote(ip)
55
            response = requests.get(url, remote_service=wcs_site, log_errors=False)
54 56
            if response.status_code == 200 and response.json().get('err') == 0:
55 57
                return response.json().get('load_url')
56 58

  
......
65 67
            return HttpResponseBadRequest('Missing code')
66 68
        code = request.POST['code']
67 69

  
68
        url = self.search(code, wcs_site=cell.wcs_site)
70
        url = self.search(code, ip=request.META.get('REMOTE_ADDR'), wcs_site=cell.wcs_site)
69 71
        if url:
70 72
            return HttpResponseRedirect(url)
71 73

  
......
89 91
    query = request.GET.get('q') or ''
90 92
    query = query.strip().upper()
91 93
    if re.match(r'^[BCDFGHJKLMNPQRSTVWXZ]{8}$', query):
92
        url = TrackingCodeView.search(query)
94
        url = TrackingCodeView.search(query, ip=request.META.get('REMOTE_ADDR'))
93 95
        if url:
94 96
            hits.append({
95 97
                'text': _('Use tracking code %s') % query,
96
-