From b52acd7b23b6977396fedfa9bb7b197aa937759a Mon Sep 17 00:00:00 2001 From: Martin Quarda Date: Mon, 14 Oct 2024 15:01:56 +0200 Subject: [PATCH] delivery pre-loads --- alkator/urls.py | 2 ++ alkatorapi/views.py | 6 ++++++ frontend/src/scripts/index.js | 6 ++++++ 3 files changed, 14 insertions(+) diff --git a/alkator/urls.py b/alkator/urls.py index 672c92d..298041c 100644 --- a/alkator/urls.py +++ b/alkator/urls.py @@ -25,6 +25,7 @@ from alkatorapi.views import ( login_status, change_racer, products, cart_add, cart, cart_delete, cart_decrease, cart_buy, select_delivery, + delivery, ) urlpatterns = [ @@ -48,4 +49,5 @@ urlpatterns = [ path('api/cart/decrease', cart_decrease), path('api/cart/buy', cart_buy), path('api/cart/select_delivery', select_delivery), + path('api/cart/delivery', delivery), ] diff --git a/alkatorapi/views.py b/alkatorapi/views.py index 0fdb947..409ec4e 100644 --- a/alkatorapi/views.py +++ b/alkatorapi/views.py @@ -382,6 +382,12 @@ def select_delivery(request): return HttpResponse('{"status":"success", "reason":"Úspěšně vybraná zásilkovna."}', status=200) +def delivery(request): + try: + return HttpResponse(request.user.cart.address, status=200, content_type='application/json') + except AttributeError: + return HttpResponse("undefined", status=200, content_type='application/json') + @csrf_exempt @transaction.atomic diff --git a/frontend/src/scripts/index.js b/frontend/src/scripts/index.js index 750aa55..5fa06f0 100644 --- a/frontend/src/scripts/index.js +++ b/frontend/src/scripts/index.js @@ -50,6 +50,12 @@ class Main extends Component { fetch(addr_prefix + "/api/login_status").then(resp => resp.json()).then(json => { this.setState({login_status: json}) }) + fetch(addr_prefix + "/api/cart/delivery").then(resp => resp.json()).then(json => { + this.setState({ + cart: [...this.state.cart, {"name": "Doprava na " + json, "id": 2, "price": delivery_cost, "locked": true, "quantity": 1}], + delivery: json, + }) + }) if(window.location.search){ let searchParams = new URLSearchParams(window.location.search); for(const [key, value] of searchParams){