diff --git a/expenses_manager/expenses/static/expenses/css/base.css b/expenses_manager/expenses/static/expenses/css/base.css
index c847f94..cd94a86 100644
--- a/expenses_manager/expenses/static/expenses/css/base.css
+++ b/expenses_manager/expenses/static/expenses/css/base.css
@@ -18,4 +18,19 @@
.card-chart canvas {
width: 100% !important;
height: 220px !important;
+}
+
+.tag{
+ display: inline-block;
+ padding: 2px 6px;
+ margin-right: 4px;
+ background: #eef2f7;
+ border-radius: 4px;
+ font-size: 0.85rem;
+ text-decoration: none;
+ color: #333;
+}
+
+.tag:hover {
+ background: #dbe3ee;
}
\ No newline at end of file
diff --git a/expenses_manager/expenses/templates/expenses/expense_list.html b/expenses_manager/expenses/templates/expenses/expense_list.html
index c74bb3d..4eae62c 100644
--- a/expenses_manager/expenses/templates/expenses/expense_list.html
+++ b/expenses_manager/expenses/templates/expenses/expense_list.html
@@ -1,7 +1,9 @@
+{% load static %}
- Gastos
+ Gastos
+
Mis gastos
@@ -43,6 +45,18 @@
+
+
+
Limpiar
@@ -77,7 +91,8 @@
{{ expense.amount }} |
{% for tag in expense.tags.all %}
- {{ tag.name }}{% if not forloop.last %}, {% endif %}
+
+ {{ tag.name }}
{% empty %}
-
{% endfor %}
@@ -98,15 +113,15 @@
diff --git a/expenses_manager/expenses/views.py b/expenses_manager/expenses/views.py
index a276f76..373cdb0 100644
--- a/expenses_manager/expenses/views.py
+++ b/expenses_manager/expenses/views.py
@@ -102,7 +102,7 @@ def expense_list(request):
expenses = Expense.objects.filter(owner=request.user)
categories = Category.objects.filter(owner=request.user)
-
+
year_list = (
Expense.objects.filter(owner=request.user)
.dates('date', 'year')
@@ -114,6 +114,7 @@ def expense_list(request):
year = _get_int(request.GET.get('year'))
month = _get_int(request.GET.get('month'))
category = _get_int(request.GET.get('category'))
+ tag_id = _get_int(request.GET.get('tag'))
if year:
expenses = expenses.filter(date__year=year)
@@ -124,6 +125,9 @@ def expense_list(request):
if category:
expenses = expenses.filter(category_id=category)
+ if tag_id:
+ expenses = expenses.filter(tags__id=tag_id)
+
expenses = expenses.order_by('-date')
total_amount = expenses.aggregate(
@@ -158,6 +162,8 @@ def expense_list(request):
'kpi_total': total_amount,
'kpi_count': expense_count,
'kpi_categories': category_count,
+ 'selected_tag': tag_id,
+ 'tags': Tag.objects.filter(owner=request.user),
},
)
|