Some improvements to the visual part of the dashboard
This commit is contained in:
parent
2a692534d0
commit
ff87956fd5
@ -15,6 +15,12 @@
|
||||
<!-- Filters -->
|
||||
<!-- ========================= -->
|
||||
|
||||
<div>
|
||||
<a href="{% url 'dashboard' %}?period=this_month">Este mes</a> |
|
||||
<a href="{% url 'dashboard' %}?period=last_month">Mes anterior</a> |
|
||||
<a href="{% url 'dashboard' %}?period=this_year">Este año</a>
|
||||
</div>
|
||||
|
||||
<form method="get" class="filters">
|
||||
<label>
|
||||
Año:
|
||||
@ -70,7 +76,7 @@
|
||||
|
||||
<div class="kpi">
|
||||
<h3>Total</h3>
|
||||
<p>{{ kpi_total }}</p>
|
||||
<p>{{ kpi_total }}€</p>
|
||||
</div>
|
||||
|
||||
<div class="kpi">
|
||||
@ -96,17 +102,16 @@
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
<p>
|
||||
<div>
|
||||
Diferencia:
|
||||
{% if kpi_difference > 0 %}
|
||||
<span>▲</span>
|
||||
{% elif kpi_difference < 0 %}
|
||||
<span>▼</span>
|
||||
{% 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>
|
||||
{% else %}
|
||||
<span>=</span>
|
||||
<span>0€</span>
|
||||
{% endif %}
|
||||
<strong>{{ kpi_difference|floatformat:2 }}</strong>
|
||||
</p>
|
||||
</div>
|
||||
<p>
|
||||
Variación:
|
||||
{% if kpi_percentage is not None %}
|
||||
@ -123,6 +128,9 @@
|
||||
<!-- ========================= -->
|
||||
<h2>Gastos por categoría</h2>
|
||||
|
||||
{% if not by_category %}
|
||||
<p>No hay gastos para este periodo.</p>
|
||||
{% else %}
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
@ -143,6 +151,7 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endif %}
|
||||
|
||||
{% if compare_enabled %}
|
||||
<h3>Comparativa por categoría</h3>
|
||||
@ -164,9 +173,9 @@
|
||||
<td>{{ row.previous }}</td>
|
||||
<td>
|
||||
{% if row.difference > 0 %}
|
||||
▲ {{ row.difference }}
|
||||
<span style="color:red;">▲ {{ row.difference }}</span>
|
||||
{% elif row.difference < 0 %}
|
||||
▼ {{ row.difference }}
|
||||
<span style="color:green;">▼ {{ row.difference }}</span>
|
||||
{% else %}
|
||||
=
|
||||
{% endif %}
|
||||
|
||||
@ -115,6 +115,7 @@ def dashboard(request):
|
||||
# ------------------
|
||||
year = _get_int(request.GET.get('year'))
|
||||
month = _get_int(request.GET.get('month'))
|
||||
period = request.GET.get('period')
|
||||
|
||||
current_year = date.today().year
|
||||
|
||||
@ -128,6 +129,24 @@ def dashboard(request):
|
||||
# -----------------
|
||||
expenses = Expense.objects.filter(owner=request.user)
|
||||
|
||||
today = date.today()
|
||||
|
||||
if period == 'this_month':
|
||||
selected_year = today.year
|
||||
selected_month = today.month
|
||||
|
||||
elif period == 'last_month':
|
||||
if today.month == 1:
|
||||
selected_year = today.year - 1
|
||||
selected_month = 12
|
||||
else:
|
||||
selected_year = today.year
|
||||
selected_month = today.month
|
||||
|
||||
elif period == 'this_year':
|
||||
selected_year = today.year
|
||||
selected_month = None
|
||||
|
||||
expenses_filtered = expenses.filter(date__year=selected_year)
|
||||
|
||||
if selected_month:
|
||||
@ -241,6 +260,15 @@ def dashboard(request):
|
||||
if previous_total:
|
||||
percentage = (difference / previous_total) * 100
|
||||
|
||||
kpi_trend = None
|
||||
if difference is not None:
|
||||
if difference > 0:
|
||||
kpi_trend = 'up'
|
||||
elif difference < 0:
|
||||
kpi_trend = 'down'
|
||||
else:
|
||||
kpi_trend = 'equal'
|
||||
|
||||
# ------------------
|
||||
# Previous expenses by category
|
||||
# ------------------
|
||||
@ -295,4 +323,5 @@ def dashboard(request):
|
||||
'kpi_difference': difference,
|
||||
'kpi_percentage': percentage,
|
||||
'category_comparison': category_comparison,
|
||||
'kpi_trend': kpi_trend,
|
||||
})
|
||||
Loading…
Reference in New Issue
Block a user