Added absolute values

This commit is contained in:
JKuijperM 2026-01-23 22:49:07 +01:00
parent ff87956fd5
commit 587152b001
2 changed files with 21 additions and 14 deletions

View File

@ -21,6 +21,8 @@
<a href="{% url 'dashboard' %}?period=this_year">Este año</a>
</div>
<br>
<form method="get" class="filters">
<label>
Año:
@ -107,7 +109,7 @@
{% if kpi_trend == "up" %}
<span style="color:red;">▲ {{ kpi_difference|floatformat:2 }}€</span>
{% elif kpi_trend == "down" %}
<span style="color:green;">▼ {{ kpi_difference|floatformat:2 }}€</span>
<span style="color:green;">▼ {{ kpi_difference_abs|floatformat:2 }}€</span>
{% else %}
<span>0€</span>
{% endif %}
@ -175,7 +177,7 @@
{% if row.difference > 0 %}
<span style="color:red;">▲ {{ row.difference }}</span>
{% elif row.difference < 0 %}
<span style="color:green;">▼ {{ row.difference }}</span>
<span style="color:green;">▼ {{ row.difference_abs }}</span>
{% else %}
=
{% endif %}

View File

@ -224,9 +224,11 @@ def dashboard(request):
# -----------------
previous_total = None
difference = None
kpi_difference = None
percentage = None
category_comparison = None
kpi_trend = None
kpi_difference_abs = None
if compare_enabled:
previous_expenses = Expense.objects.filter(owner=request.user)
@ -255,19 +257,20 @@ def dashboard(request):
previous_expenses.aggregate(total=Sum('amount'))['total'] or 0
)
difference = total_amount - previous_total
kpi_difference = total_amount - previous_total
if previous_total:
percentage = (difference / previous_total) * 100
percentage = (kpi_difference / previous_total) * 100
kpi_trend = None
if difference is not None:
if difference > 0:
if kpi_difference is not None:
if kpi_difference > 0:
kpi_trend = 'up'
elif difference < 0:
elif kpi_difference < 0:
kpi_trend = 'down'
else:
kpi_trend = 'equal'
kpi_difference_abs = abs(kpi_difference) if kpi_difference is not None else None
# ------------------
# Previous expenses by category
@ -303,6 +306,7 @@ def dashboard(request):
'current': current_total,
'previous': previous_total_cat,
'difference': difference,
'difference_abs': abs(difference),
})
# Send the data to the dashboard
@ -320,7 +324,8 @@ def dashboard(request):
'kpi_categories': category_count,
'compare_enabled': compare_enabled,
'kpi_previous_total': previous_total,
'kpi_difference': difference,
'kpi_difference': kpi_difference,
'kpi_difference_abs': kpi_difference_abs,
'kpi_percentage': percentage,
'category_comparison': category_comparison,
'kpi_trend': kpi_trend,