Pass cart positions to fee_calculation_for_cart

This commit is contained in:
Raphael Michel
2019-11-04 11:00:48 +01:00
parent d15e37d93e
commit 8f112f8d9a
5 changed files with 15 additions and 7 deletions

View File

@@ -133,7 +133,10 @@ class CartMixin:
if order:
fees = order.fees.all()
elif positions:
fees = get_fees(self.request.event, self.request, total, self.invoice_address, self.cart_session.get('payment'))
fees = get_fees(
self.request.event, self.request, total, self.invoice_address, self.cart_session.get('payment'),
cartpos
)
else:
fees = []
@@ -231,9 +234,10 @@ def get_cart_is_free(request):
if not hasattr(request, '_cart_free_cache'):
cs = cart_session(request)
pos = get_cart(request)
ia = get_cart_invoice_address(request)
total = get_cart_total(request)
fees = get_fees(request.event, request, total, ia, cs.get('payment'))
fees = get_fees(request.event, request, total, ia, cs.get('payment'), pos)
request._cart_free_cache = total + sum(f.value for f in fees) == Decimal('0.00')
return request._cart_free_cache