improve current average monthly values
This commit is contained in:
@@ -50,13 +50,22 @@
|
|||||||
<table>
|
<table>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<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>
|
<td>{{ analysis.avg_monthly_out|euro }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>avg incoming transactions / month</td>
|
<td>current average monthly result</td>
|
||||||
<td>{{ analysis.avg_monthly_in|euro }}</td>
|
<td>{{ analysis.avg_monthly_res|euro }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>irregular expenses / month</td>
|
<td>irregular expenses / month</td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
|
|||||||
@@ -182,18 +182,20 @@ def _calculate_analysis(user):
|
|||||||
|
|
||||||
today = current_date()
|
today = current_date()
|
||||||
booked = Q(booking_date__lte=today)
|
booked = Q(booking_date__lte=today)
|
||||||
outgoing = Q(amount__gt=0)
|
|
||||||
incoming = Q(amount__lt=0)
|
incoming = Q(amount__lt=0)
|
||||||
|
outgoing = Q(amount__gt=0)
|
||||||
recurring = Q(recurring_months__isnull=False) & (
|
recurring = Q(recurring_months__isnull=False) & (
|
||||||
Q(not_recurring_after__isnull=True) | Q(not_recurring_after__gte=today))
|
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 = user.transactions.filter(booked & outgoing & recurring)
|
||||||
out_trans_per_month = [t.amount / t.recurring_months for t in out_trans]
|
out_trans_per_month = [t.amount / t.recurring_months for t in out_trans]
|
||||||
result["avg_monthly_out"] = sum(out_trans_per_month)
|
result["avg_monthly_out"] = sum(out_trans_per_month)
|
||||||
|
|
||||||
in_trans = user.transactions.filter(booked & incoming & recurring)
|
result["avg_monthly_res"] = result["avg_monthly_in"] - result["avg_monthly_out"]
|
||||||
in_trans_per_month = [t.amount / t.recurring_months for t in in_trans]
|
|
||||||
result["avg_monthly_in"] = -sum(in_trans_per_month)
|
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user