From ad2dc3adb30a4df98cc2f46717518ad09cf57338 Mon Sep 17 00:00:00 2001 From: Dmitriy Shesterkin Date: Tue, 30 May 2017 01:32:28 +0300 Subject: [PATCH] dpd get cities --- batiskaf/settings.py | 7 +- batiskaf/templates/jinja2/cart_detail.jinja | 27 ++++ batiskaf/urls.py | 5 +- dpd/__init__.py | 1 + static/img/dpd.png | Bin 0 -> 12096 bytes static/js/_.js | 47 ++++++- store/views.py | 138 ++++++++++++++------ 7 files changed, 181 insertions(+), 44 deletions(-) create mode 100644 dpd/__init__.py create mode 100644 static/img/dpd.png diff --git a/batiskaf/settings.py b/batiskaf/settings.py index 0cb38a0..942657e 100644 --- a/batiskaf/settings.py +++ b/batiskaf/settings.py @@ -281,4 +281,9 @@ MERCHANT_ID = "92210431" # ; Терминал ИД в банковской Си DJANGORESIZED_DEFAULT_SIZE = [1920, 1080] DJANGORESIZED_DEFAULT_QUALITY = 75 -DJANGORESIZED_DEFAULT_KEEP_META = True \ No newline at end of file +DJANGORESIZED_DEFAULT_KEEP_META = True + +DPD_ID = '1122000140' +DPD_KEY = '0599EDC793B39FA6C098C3A8A7B5C603BBD3BE56' +DPD_DEV_SERVER = 'http://wstest.dpd.ru' +DPD_SERVER = 'http://ws.dpd.ru' diff --git a/batiskaf/templates/jinja2/cart_detail.jinja b/batiskaf/templates/jinja2/cart_detail.jinja index 37a8807..8910bdf 100644 --- a/batiskaf/templates/jinja2/cart_detail.jinja +++ b/batiskaf/templates/jinja2/cart_detail.jinja @@ -103,6 +103,12 @@ Казпочта
+
+ +
+ + + + {{ form|bootstrap }} diff --git a/batiskaf/urls.py b/batiskaf/urls.py index 227cbf2..f113ce1 100644 --- a/batiskaf/urls.py +++ b/batiskaf/urls.py @@ -102,7 +102,7 @@ urlpatterns = ( url(r'^api/', include(router.urls)), url(r'^news/', include('news.urls')), url(r'^promo/', include('promo.urls')), - url(r'^get_order_amount/$', 'store.views.get_order_amount'), + # url(r'^get_order_amount/$', 'store.views.get_order_amount'), url(r'^get_order_kazpost_amount/$', 'store.views.get_order_kazpost_amount'), url(r'^order_call/$', 'api.views.call_order'), url(r'^order_order/$', 'api.views.order_order'), @@ -115,6 +115,9 @@ urlpatterns = ( url(r'^order/(?P.+)/$', order_view, name='store_order_view'), + url(r'^get_dpd_cities/$', 'store.views.get_dpd_cities'), + + url(r'^store/', include('store.urls')), url(r'^account/', include('accounts.urls')), url(r'^advantages/$', advantages, name='advantages'), diff --git a/dpd/__init__.py b/dpd/__init__.py new file mode 100644 index 0000000..7c68785 --- /dev/null +++ b/dpd/__init__.py @@ -0,0 +1 @@ +# -*- coding: utf-8 -*- \ No newline at end of file diff --git a/static/img/dpd.png b/static/img/dpd.png new file mode 100644 index 0000000000000000000000000000000000000000..16e58754fd4afd74c766e06ab7d04b5d7416be88 GIT binary patch literal 12096 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 zldply&#qD @@ -403,7 +407,7 @@ def get_kazpost_tarif(weight, to): """ - body = body.format(weight*1000, to) + body = body.format(weight * 1000, to) try: response = requests.post(url, data=body, headers=headers) @@ -441,7 +445,7 @@ def order_kkb(request, order): c_appendix = dict(items=cart.items, deliv_price=order.amount - cart.total) render_appendix = render_to_string('kkb/appendix.xml', c_appendix) appendix = base64.b64encode( - bytes(render_appendix, 'utf-8') + bytes(render_appendix, 'utf-8') ).decode('utf-8') c = dict(order=order, context=context, appendix=appendix) @@ -464,6 +468,58 @@ def kkb_result(request): return render(request, 'kkb_ok.jinja') +def get_dpd_cities(request, *args, **kwargs): + import requests + + url = "http://ws.dpd.ru/services/geography2?wsdl" + headers = {'content-type': 'text/xml'} + body = """ + + + + + + {clientID} + {clientKey} + + KZ + + + + + """ + places = list() + search = request.GET.get('search', '') + + body = body.format(clientID=settings.DPD_ID, clientKey=settings.DPD_KEY) + try: + response = requests.post(url, data=body, headers=headers) + elements = ET.fromstring(response.content).findall(".//return") + + if search: + for el in elements: + if search.lower() in el.find('.//cityName').text.lower(): + add_items(el, places) + else: + for el in elements: + add_items(el, places) + + data = json.dumps(places) + except: + data = json.dumps({'msg': 'false'}) + return HttpResponse(data, content_type='json') + + +def add_items(el, places): + places.append({'id': el.find('.//cityId').text, + 'text': '{0} {1}'.format( + el.find('.//abbreviation').text, + el.find('.//cityName').text + )}) + + class ProductSitemap(Sitemap): changefreq = "daily" priority = 0.8