From 8b6568c64032518de6783a1986540e7b6e41efc1 Mon Sep 17 00:00:00 2001 From: Andreas Zweili Date: Sun, 11 Feb 2018 16:48:45 +0100 Subject: [PATCH] add a rough version of the "total" calculation --- django/didgeridoo/webshop/views.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/django/didgeridoo/webshop/views.py b/django/didgeridoo/webshop/views.py index 7018f9a..83deedf 100644 --- a/django/didgeridoo/webshop/views.py +++ b/django/didgeridoo/webshop/views.py @@ -233,7 +233,8 @@ def cart(request): message = "" cart_id = False articles_list = "" - total = Decimal(0) + prices_in_cart = [] + total = 0 if not 'currency' in request.session: request.session['currency'] = None @@ -266,13 +267,15 @@ def cart(request): currency, article.price_in_chf) else: - articles = CartPosition.objects.filter(cart=cart_id) - articles_list = list(articles) - for idx, article in enumerate(articles_list): - articles_list[idx] = article - article.price_in_chf = CartPosition.objects.get(article.article.id) - - total += article.price_in_chf + cart_position = CartPosition.objects.filter(cart=cart_id) + if len(cart_position) > 0: + cart_position_list = list(cart_position) + for idx, cart_position in enumerate(cart_position_list): + prices_in_cart.append(cart_position.article.price_in_chf) + prices_sum = sum(prices_in_cart) + prices_length = len(prices_in_cart) + total = prices_sum / prices_length + articles_list = cart_position_list return render(request, 'webshop/cart.html', {'articles_list': articles_list,