Modificaciones en filtrado y creada opción para marcar que un gasto/ingreso es un traspaso de cuentas #34
@ -27,6 +27,7 @@ class ExpenseForm(forms.ModelForm):
|
|||||||
"category",
|
"category",
|
||||||
"account",
|
"account",
|
||||||
"tags",
|
"tags",
|
||||||
|
"is_transfer",
|
||||||
]
|
]
|
||||||
widgets = {
|
widgets = {
|
||||||
"date": forms.DateInput(format="%Y-%m-%d", attrs={"type": "date"}),
|
"date": forms.DateInput(format="%Y-%m-%d", attrs={"type": "date"}),
|
||||||
@ -50,7 +51,7 @@ class AccountForm(forms.ModelForm):
|
|||||||
class IncomeForm(forms.ModelForm):
|
class IncomeForm(forms.ModelForm):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Income
|
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"})}
|
widgets = {"date": forms.DateInput(format="%Y-%m-%d", attrs={"type": "date"})}
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
|
|||||||
@ -732,6 +732,13 @@ tr:hover {
|
|||||||
color: var(--color-danger-text);
|
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 {
|
.row-inactive {
|
||||||
opacity: 0.55;
|
opacity: 0.55;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -215,7 +215,12 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>{{ exp.date|date:"d/m/Y" }}</td>
|
<td>{{ exp.date|date:"d/m/Y" }}</td>
|
||||||
<td>{{ exp.account.name }}</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>{{ exp.description|default:"-" }}</td>
|
||||||
<td style="color: var(--color-danger-accent); font-weight: bold;">{{ exp.amount|floatformat:2 }}</td>
|
<td style="color: var(--color-danger-accent); font-weight: bold;">{{ exp.amount|floatformat:2 }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@ -117,7 +117,12 @@
|
|||||||
{% for expense in page_obj %}
|
{% for expense in page_obj %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ expense.date }}</td>
|
<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.amount }}</td>
|
||||||
<td>{{ expense.account.name }}</td>
|
<td>{{ expense.account.name }}</td>
|
||||||
<td>
|
<td>
|
||||||
|
|||||||
@ -96,7 +96,12 @@
|
|||||||
{% for mov in movements %}
|
{% for mov in movements %}
|
||||||
<li class="movement">
|
<li class="movement">
|
||||||
<span class="movement-date">{{ mov.date }}</span>
|
<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-account muted">{{ mov.account }}</span>
|
||||||
<span class="movement-amount {% if mov.kind == 'income' %}amount-positive{% else %}amount-negative{% endif %}">
|
<span class="movement-amount {% if mov.kind == 'income' %}amount-positive{% else %}amount-negative{% endif %}">
|
||||||
{% if mov.kind == 'income' %}+{% else %}−{% endif %}{{ mov.amount|floatformat:2 }}€
|
{% if mov.kind == 'income' %}+{% else %}−{% endif %}{{ mov.amount|floatformat:2 }}€
|
||||||
|
|||||||
@ -255,6 +255,7 @@ def home(request):
|
|||||||
"label": e.category.name,
|
"label": e.category.name,
|
||||||
"account": e.account.name,
|
"account": e.account.name,
|
||||||
"amount": e.amount,
|
"amount": e.amount,
|
||||||
|
"is_transfer": e.is_transfer,
|
||||||
}
|
}
|
||||||
for e in recent_expenses
|
for e in recent_expenses
|
||||||
]
|
]
|
||||||
@ -265,6 +266,7 @@ def home(request):
|
|||||||
"label": i.name,
|
"label": i.name,
|
||||||
"account": i.account.name,
|
"account": i.account.name,
|
||||||
"amount": i.amount,
|
"amount": i.amount,
|
||||||
|
"is_transfer": i.is_transfer,
|
||||||
}
|
}
|
||||||
for i in recent_incomes
|
for i in recent_incomes
|
||||||
],
|
],
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user