diff --git a/counter/templates/counter/invoices_call.jinja b/counter/templates/counter/invoices_call.jinja index 973021fb..bdc43d31 100644 --- a/counter/templates/counter/invoices_call.jinja +++ b/counter/templates/counter/invoices_call.jinja @@ -27,7 +27,7 @@ {% for i in sums %} <tr> <td>{{ i['club__name'] }}</td> - <td>{{ i['selling_sum'] }} €</td> + <td>{{"%.2f"|format(i['selling_sum'])}} €</td> </tr> {% endfor %} </tbody> @@ -35,4 +35,3 @@ {% endblock %} - diff --git a/counter/views/invoice.py b/counter/views/invoice.py index cabbccdb..34e97a40 100644 --- a/counter/views/invoice.py +++ b/counter/views/invoice.py @@ -46,30 +46,23 @@ class InvoiceCallView(CounterAdminTabsMixin, CounterAdminMixin, TemplateView): ) from django.db.models import Case, Sum, When - kwargs["sum_cb"] = sum( - [ - r.amount - for r in Refilling.objects.filter( - payment_method="CARD", - is_validated=True, - date__gte=start_date, - date__lte=end_date, - ) - ] - ) - kwargs["sum_cb"] += sum( - [ - s.quantity * s.unit_price - for s in Selling.objects.filter( - payment_method="CARD", - is_validated=True, - date__gte=start_date, - date__lte=end_date, - ) - ] - ) + kwargs["sum_cb"] = Refilling.objects.filter( + payment_method="CARD", + is_validated=True, + date__gte=start_date, + date__lte=end_date, + ).aggregate(amount=Sum(F("amount"), default=0))["amount"] + + kwargs["sum_cb"] += Selling.objects.filter( + payment_method="CARD", + is_validated=True, + date__gte=start_date, + date__lte=end_date, + ).aggregate(amount=Sum(F("quantity") * F("unit_price"), default=0))["amount"] + kwargs["start_date"] = start_date - kwargs["sums"] = ( + + kwargs["sums"] = list( Selling.objects.values("club__name") .annotate( selling_sum=Sum(