From c6f45b4407e6c1a502bad865301599c4f4b58849 Mon Sep 17 00:00:00 2001 From: Nanoy Date: Sat, 26 Jan 2019 17:02:23 +0100 Subject: [PATCH] Fix order --- gestion/views.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/gestion/views.py b/gestion/views.py index a296971..d0ed794 100644 --- a/gestion/views.py +++ b/gestion/views.py @@ -205,21 +205,23 @@ def order(request): consumption.save() ch = ConsumptionHistory(customer=user, quantity=quantity, paymentMethod=paymentMethod, product=product, amount=Decimal(quantity*product.amount), coopeman=request.user) ch.save() - if(user.profile.balance >= Decimal(product.amount*quantity)): - user.profile.debit += Decimal(product.amount*quantity) - else: - error_message = "Solde insuffisant" - raise Exception(error_message) + if(paymentMethod.affect_balance): + if(user.profile.balance >= Decimal(product.amount*quantity)): + user.profile.debit += Decimal(product.amount*quantity) + else: + error_message = "Solde insuffisant" + raise Exception(error_message) for m in menus: menu = get_object_or_404(Menu, pk=m["pk"]) quantity = int(m["quantity"]) mh = MenuHistory(customer=user, quantity=quantity, paymentMethod=paymentMethod, menu=menu, amount=int(quantity*menu.amount), coopeman=request.user) mh.save() - if(user.profile.balance >= Decimal(menu.amount*quantity)): - user.profile.debit += Decimal(menu.amount*quantity) - else: - error_message = "Solde insuffisant" - raise Exception(error_message) + if(paymentMethod.affect_balance): + if(user.profile.balance >= Decimal(product.amount*quantity)): + user.profile.debit += Decimal(product.amount*quantity) + else: + error_message = "Solde insuffisant" + raise Exception(error_message) for article in menu.articles.all(): consumption, _ = Consumption.objects.get_or_create(customer=user, product=article) consumption.quantity += quantity