diff --git a/financeplanner/templates/financeplanner/index.html b/financeplanner/templates/financeplanner/index.html index 0391a30..fe2744d 100644 --- a/financeplanner/templates/financeplanner/index.html +++ b/financeplanner/templates/financeplanner/index.html @@ -50,13 +50,22 @@ - + + + + + - - + + + +
avg outgoing transactions / monthcurrent average monthly income{{ analysis.avg_monthly_in|euro }}
current average monthly expenses {{ analysis.avg_monthly_out|euro }}
avg incoming transactions / month{{ analysis.avg_monthly_in|euro }}current average monthly result{{ analysis.avg_monthly_res|euro }}
+ + + diff --git a/financeplanner/views.py b/financeplanner/views.py index 0899190..82a709a 100644 --- a/financeplanner/views.py +++ b/financeplanner/views.py @@ -182,18 +182,20 @@ def _calculate_analysis(user): today = current_date() booked = Q(booking_date__lte=today) - outgoing = Q(amount__gt=0) incoming = Q(amount__lt=0) + outgoing = Q(amount__gt=0) recurring = Q(recurring_months__isnull=False) & ( Q(not_recurring_after__isnull=True) | Q(not_recurring_after__gte=today)) + in_trans = user.transactions.filter(booked & incoming & recurring) + in_trans_per_month = [t.amount / t.recurring_months for t in in_trans] + result["avg_monthly_in"] = -sum(in_trans_per_month) + out_trans = user.transactions.filter(booked & outgoing & recurring) out_trans_per_month = [t.amount / t.recurring_months for t in out_trans] result["avg_monthly_out"] = sum(out_trans_per_month) - in_trans = user.transactions.filter(booked & incoming & recurring) - in_trans_per_month = [t.amount / t.recurring_months for t in in_trans] - result["avg_monthly_in"] = -sum(in_trans_per_month) + result["avg_monthly_res"] = result["avg_monthly_in"] - result["avg_monthly_out"] return result
irregular expenses / month 0