From 1a8cf4af53e9aab03e066ef4c3a316e175b3ac19 Mon Sep 17 00:00:00 2001 From: Flo Ha Date: Wed, 3 Apr 2024 21:44:03 +0200 Subject: [PATCH] limit shown finance information to the current year --- gaehsnitz/views.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gaehsnitz/views.py b/gaehsnitz/views.py index 82110fd..89c99be 100644 --- a/gaehsnitz/views.py +++ b/gaehsnitz/views.py @@ -1,6 +1,7 @@ from datetime import date from django.db.models import Sum +from django.utils import timezone from django.views.generic import TemplateView from gaehsnitz.models import Donation, Payment @@ -37,12 +38,16 @@ class FinanceView(GaehsnitzTemplateView): def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) - total_donations = Donation.objects.all().aggregate(sum=Sum("amount"))["sum"] - total_payments = Payment.objects.all().aggregate(sum=Sum("amount"))["sum"] + year = timezone.now().year + donations = Donation.objects.filter(date__year=year) + payments = Payment.objects.filter(date__year=year) + + total_donations = donations.aggregate(sum=Sum("amount"))["sum"] or 0 + total_payments = payments.aggregate(sum=Sum("amount"))["sum"] or 0 total_balance = total_donations - total_payments band_sum, displayed_payments = 0, [] - for pay in Payment.objects.order_by("date"): + for pay in payments.order_by("date"): if pay.purpose.startswith("Band"): band_sum += pay.amount else: