improve current average monthly values
This commit is contained in:
@@ -50,13 +50,22 @@
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>avg outgoing transactions / month</td>
|
||||
<td>current average monthly income</td>
|
||||
<td>{{ analysis.avg_monthly_in|euro }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>current average monthly expenses</td>
|
||||
<td>{{ analysis.avg_monthly_out|euro }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>avg incoming transactions / month</td>
|
||||
<td>{{ analysis.avg_monthly_in|euro }}</td>
|
||||
<td>current average monthly result</td>
|
||||
<td>{{ analysis.avg_monthly_res|euro }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>irregular expenses / month</td>
|
||||
<td>0</td>
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user