Modificaciones en filtrado y creada opción para marcar que un gasto/ingreso es un traspaso de cuentas #34

Merged
jkuijperm merged 18 commits from dev into main 2026-09-16 07:50:18 +00:00
6 changed files with 29 additions and 4 deletions
Showing only changes of commit 2d7cd8cb68 - Show all commits

View File

@ -27,6 +27,7 @@ class ExpenseForm(forms.ModelForm):
"category",
"account",
"tags",
"is_transfer",
]
widgets = {
"date": forms.DateInput(format="%Y-%m-%d", attrs={"type": "date"}),
@ -50,7 +51,7 @@ class AccountForm(forms.ModelForm):
class IncomeForm(forms.ModelForm):
class Meta:
model = Income
fields = ["account", "name", "amount", "date"]
fields = ["account", "name", "amount", "date", "is_transfer"]
widgets = {"date": forms.DateInput(format="%Y-%m-%d", attrs={"type": "date"})}
def __init__(self, *args, **kwargs):

View File

@ -732,6 +732,13 @@ tr:hover {
color: var(--color-danger-text);
}
/* Etiqueta informativa, sin carga de error ni de éxito: marca un movimiento
como lo que es, no como un estado degradado. */
.badge-neutral {
background-color: var(--color-chip-bg);
color: var(--color-text-muted);
}
.row-inactive {
opacity: 0.55;
}

View File

@ -215,7 +215,12 @@
<tr>
<td>{{ exp.date|date:"d/m/Y" }}</td>
<td>{{ exp.account.name }}</td>
<td>{{ exp.category.name }}</td>
<td>
{{ exp.category.name }}
{% if exp.is_transfer %}
<span class="badge badge-neutral">Traspaso</span>
{% endif %}
</td>
<td>{{ exp.description|default:"-" }}</td>
<td style="color: var(--color-danger-accent); font-weight: bold;">{{ exp.amount|floatformat:2 }}</td>
</tr>

View File

@ -117,7 +117,12 @@
{% for expense in page_obj %}
<tr>
<td>{{ expense.date }}</td>
<td>{{ expense.category.name }}</td>
<td>
{{ expense.category.name }}
{% if expense.is_transfer %}
<span class="badge badge-neutral">Traspaso</span>
{% endif %}
</td>
<td>{{ expense.amount }}</td>
<td>{{ expense.account.name }}</td>
<td>

View File

@ -96,7 +96,12 @@
{% for mov in movements %}
<li class="movement">
<span class="movement-date">{{ mov.date }}</span>
<span class="movement-label">{{ mov.label }}</span>
<span class="movement-label">
{{ mov.label }}
{% if mov.is_transfer %}
<span class="badge badge-neutral">Traspaso</span>
{% endif %}
</span>
<span class="movement-account muted">{{ mov.account }}</span>
<span class="movement-amount {% if mov.kind == 'income' %}amount-positive{% else %}amount-negative{% endif %}">
{% if mov.kind == 'income' %}+{% else %}{% endif %}{{ mov.amount|floatformat:2 }}€

View File

@ -255,6 +255,7 @@ def home(request):
"label": e.category.name,
"account": e.account.name,
"amount": e.amount,
"is_transfer": e.is_transfer,
}
for e in recent_expenses
]
@ -265,6 +266,7 @@ def home(request):
"label": i.name,
"account": i.account.name,
"amount": i.amount,
"is_transfer": i.is_transfer,
}
for i in recent_incomes
],