From 60c875c2a5fced8464ef8eb9b7be480feba10696 Mon Sep 17 00:00:00 2001 From: "Edgar P. Burkhart" Date: Tue, 3 Jan 2023 18:36:02 +0100 Subject: [PATCH] Add missing data for snapshot html plot --- nummi/main/views.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/nummi/main/views.py b/nummi/main/views.py index 8439100..9b078d7 100644 --- a/nummi/main/views.py +++ b/nummi/main/views.py @@ -231,6 +231,30 @@ class SnapshotUpdateView(NummiUpdateView): data["transactions_url"] = reverse_lazy( "snapshot_transactions", args=(snapshot.pk,) ) + if _transactions: + data["categories"] = ( + _transactions.values( + "category", "category__name", "category__icon" + ) + .annotate( + sum=models.Sum("value"), + sum_m=models.Sum("value", filter=models.Q(value__lt=0)), + sum_p=models.Sum("value", filter=models.Q(value__gt=0)), + ) + .order_by("-sum") + ) + data["cat_lim"] = max( + map( + lambda x: abs(x) if x else 0, + data["categories"] + .aggregate( + max=models.Max("sum_p"), + min=models.Min("sum_m"), + ) + .values(), + ) + ) + data["cat_lim_m"] = -data["cat_lim"] return data | { "new_transaction_url": reverse_lazy(