Unified the confirm/delete/back buttons
This commit is contained in:
parent
07b9b7c878
commit
255c035797
@ -1,14 +1,12 @@
|
||||
{% extends "expenses/base.html" %}
|
||||
{% extends "expenses/_confirm_delete.html" %}
|
||||
|
||||
{% block title %}
|
||||
Categorías
|
||||
{% endblock %}
|
||||
{% block title %}Categorías{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h2>Eliminar categoría</h2>
|
||||
{% block delete_heading %}Eliminar categoría{% endblock %}
|
||||
|
||||
<p>¿Seguro que quieres eliminar la categoría <strong>{{ category.name }}</strong>?</p>
|
||||
{% block delete_question %}¿Seguro que quieres eliminar la categoría <strong>{{ category.name }}</strong>?{% endblock %}
|
||||
|
||||
{% block delete_warnings %}
|
||||
{% if expense_count %}
|
||||
<p class="form-errors">
|
||||
Esta categoría tiene {{ expense_count }} gasto{{ expense_count|pluralize }} asociado{{ expense_count|pluralize }}
|
||||
@ -18,7 +16,7 @@
|
||||
{% if children %}
|
||||
<p class="form-errors">
|
||||
Atención: también se eliminarán sus subcategorías:
|
||||
{% for child in children %}<strong>{{child.name}}</strong>{% if not forloop.last %}, {% endif %}{% endfor %}.
|
||||
{% for child in children %}<strong>{{ child.name }}</strong>{% if not forloop.last %}, {% endif %}{% endfor %}.
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
@ -28,11 +26,6 @@
|
||||
</p>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{{ form.as_p }}
|
||||
<button class="btn btn-danger">Eliminar</button>
|
||||
<a class="btn btn-secondary" href="{% url 'category_list' %}">Cancelar</a>
|
||||
</form>
|
||||
{% endblock %}
|
||||
{% block cancel_url %}{% url 'category_list' %}{% endblock %}
|
||||
|
||||
@ -10,7 +10,9 @@
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{{ form.as_p }}
|
||||
<button type="submit" class="btn btn-primary">Guardar</button>
|
||||
<a class="btn btn-secondary" href="{% url 'category_list' %}">Cancelar</a>
|
||||
<div class="form-actions">
|
||||
<button type="submit" class="btn btn-primary">Guardar</button>
|
||||
<a class="btn btn-secondary" href="{% url 'category_list' %}">Cancelar</a>
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
@ -0,0 +1,20 @@
|
||||
{% extends "expenses/base.html" %}
|
||||
|
||||
{% block title %}Eliminar{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>{% block delete_heading %}Eliminar{% endblock %}</h1>
|
||||
|
||||
<p>{% block delete_question %}¿Seguro que quieres eliminar este elemento?{% endblock %}</p>
|
||||
|
||||
{% block delete_warnings %}{% endblock %}
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{% block delete_extra_fields %}{% endblock %}
|
||||
<div class="form-actions">
|
||||
<button class="btn btn-danger">{% block delete_button %}Eliminar{% endblock %}</button>
|
||||
<a class="btn btn-secondary" href="{% block cancel_url %}{% endblock %}">Cancelar</a>
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
@ -1,18 +1,11 @@
|
||||
{% extends "expenses/base.html" %}
|
||||
{% extends "expenses/_confirm_delete.html" %}
|
||||
|
||||
{% block title %}Eliminar{% endblock %}
|
||||
{% block content %}
|
||||
|
||||
<h1>Eliminar cuenta</h1>
|
||||
{% block delete_heading %}Eliminar cuenta{% endblock %}
|
||||
|
||||
<p>
|
||||
¿Seguro que quieres eliminar la cuenta
|
||||
<strong>{{ account.name }}</strong>
|
||||
</p>
|
||||
{% block delete_question %}¿Seguro que quieres eliminar la cuenta <strong>{{ account.name }}</strong>?{% endblock %}
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<button class="btn btn-danger">Sí, eliminar</button>
|
||||
<a class="btn btn-secondary" href="{% url 'account_list' %}">Cancelar</a>
|
||||
</form>
|
||||
{% block delete_button %}Sí, eliminar{% endblock %}
|
||||
|
||||
{% endblock %}
|
||||
{% block cancel_url %}{% url 'account_list' %}{% endblock %}
|
||||
|
||||
@ -14,8 +14,10 @@
|
||||
{% csrf_token %}
|
||||
{{ form.as_p }}
|
||||
|
||||
<button type="submit" class="btn btn-primary">Guardar</button>
|
||||
<a class="btn btn-secondary" href="{% url 'account_list' %}">Cancelar</a>
|
||||
<div class="form-actions">
|
||||
<button type="submit" class="btn btn-primary">Guardar</button>
|
||||
<a class="btn btn-secondary" href="{% url 'account_list' %}">Cancelar</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
@ -1,21 +1,16 @@
|
||||
{% extends "expenses/base.html" %}
|
||||
{% extends "expenses/_confirm_delete.html" %}
|
||||
|
||||
{% block title %}Eliminar gasto{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Eliminar gasto</h1>
|
||||
|
||||
<p>
|
||||
¿Seguro que quieres eliminar el gasto de
|
||||
<strong>{{ expense.amount }}€</strong>
|
||||
del {{ expense.date }} perteneciente a
|
||||
<strong>{{ expense.account }}</strong>?
|
||||
</p>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<button class="btn btn-danger">Sí, eliminar</button>
|
||||
<a class="btn btn-secondary" href="{% url 'expense_list' %}">Cancelar</a>
|
||||
</form>
|
||||
{% block delete_heading %}Eliminar gasto{% endblock %}
|
||||
|
||||
{% block delete_question %}
|
||||
¿Seguro que quieres eliminar el gasto de
|
||||
<strong>{{ expense.amount }}€</strong>
|
||||
del {{ expense.date }} perteneciente a
|
||||
<strong>{{ expense.account }}</strong>?
|
||||
{% endblock %}
|
||||
|
||||
{% block delete_button %}Sí, eliminar{% endblock %}
|
||||
|
||||
{% block cancel_url %}{% url 'expense_list' %}{% endblock %}
|
||||
|
||||
@ -46,14 +46,15 @@
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
<button type="submit" class="btn btn-primary">
|
||||
{% if form.instance.pk %}
|
||||
Guardar gasto
|
||||
{% else %}
|
||||
Crear gasto
|
||||
{% endif %}
|
||||
</button>
|
||||
<div class="form-actions">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
{% if form.instance.pk %}
|
||||
Guardar gasto
|
||||
{% else %}
|
||||
Crear gasto
|
||||
{% endif %}
|
||||
</button>
|
||||
<a class="btn btn-secondary" href="{% url 'expense_list' %}">Volver</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<a class="btn btn-secondary" href="{% url 'expense_list' %}">Volver</a>
|
||||
{% endblock %}
|
||||
|
||||
@ -1,20 +1,16 @@
|
||||
{% extends "expenses/base.html" %}
|
||||
{% extends "expenses/_confirm_delete.html" %}
|
||||
|
||||
{% block title %}Eliminar ingreso{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Eliminar ingreso</h1>
|
||||
{% block delete_heading %}Eliminar ingreso{% endblock %}
|
||||
|
||||
<p>
|
||||
¿Seguro que quieres eliminar el ingreso de
|
||||
<strong>{{ income.amount }}€</strong>
|
||||
del {{ income.date }} perteneciente a
|
||||
<strong>{{ income.account }}</strong>?
|
||||
</p>
|
||||
{% block delete_question %}
|
||||
¿Seguro que quieres eliminar el ingreso de
|
||||
<strong>{{ income.amount }}€</strong>
|
||||
del {{ income.date }} perteneciente a
|
||||
<strong>{{ income.account }}</strong>?
|
||||
{% endblock %}
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<button class="btn btn-danger">Sí, eliminar</button>
|
||||
<a class="btn btn-secondary" href="{% url 'income_list' %}">Cancelar</a>
|
||||
</form>
|
||||
{% block delete_button %}Sí, eliminar{% endblock %}
|
||||
|
||||
{% endblock %}
|
||||
{% block cancel_url %}{% url 'income_list' %}{% endblock %}
|
||||
|
||||
@ -19,14 +19,15 @@
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{{ form.as_p }}
|
||||
<button type="submit" class="btn btn-primary">
|
||||
{% if form.instance.pk %}
|
||||
Guardar ingreso
|
||||
{% else %}
|
||||
Crear ingreso
|
||||
{% endif %}
|
||||
</button>
|
||||
<div class="form-actions">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
{% if form.instance.pk %}
|
||||
Guardar ingreso
|
||||
{% else %}
|
||||
Crear ingreso
|
||||
{% endif %}
|
||||
</button>
|
||||
<a class="btn btn-secondary" href="{% url 'income_list' %}">Volver</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<a class="btn btn-secondary" href="{% url 'income_list' %}">Volver</a>
|
||||
{% endblock %}
|
||||
@ -1,17 +1,9 @@
|
||||
{% extends "expenses/base.html" %}
|
||||
{% extends "expenses/_confirm_delete.html" %}
|
||||
|
||||
{% block title %}Etiquetas{% endblock %}
|
||||
{% block content %}
|
||||
<h1>Eliminar etiqueta</h1>
|
||||
|
||||
<p>
|
||||
¿Seguro que quieres eliminar la etiqueta
|
||||
<strong>{{ tag.name }}€</strong>?
|
||||
</p>
|
||||
{% block delete_heading %}Eliminar etiqueta{% endblock %}
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<button class="btn btn-danger">Eliminar</button>
|
||||
<a class="btn btn-secondary" href="{% url 'tag_list' %}">Cancelar</a>
|
||||
</form>
|
||||
{% block delete_question %}¿Seguro que quieres eliminar la etiqueta <strong>{{ tag.name }}</strong>?{% endblock %}
|
||||
|
||||
{% endblock %}
|
||||
{% block cancel_url %}{% url 'tag_list' %}{% endblock %}
|
||||
|
||||
@ -6,8 +6,9 @@
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{{ form.as_p }}
|
||||
<button type="submit" class="btn btn-primary">Guardar</button>
|
||||
<div class="form-actions">
|
||||
<button type="submit" class="btn btn-primary">Guardar</button>
|
||||
<a class="btn btn-secondary" href="{% url 'tag_list' %}">Volver</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<a class="btn btn-secondary" href="{% url 'tag_list' %}">Volver</a>
|
||||
{% endblock %}
|
||||
@ -1,26 +1,23 @@
|
||||
{% extends "expenses/base.html" %}
|
||||
{% extends "expenses/_confirm_delete.html" %}
|
||||
|
||||
{% block title %}
|
||||
Repostajes
|
||||
{% block title %}Repostajes{% endblock %}
|
||||
|
||||
{% block delete_heading %}Eliminar repostaje.{% endblock %}
|
||||
|
||||
{% block delete_question %}
|
||||
¿Seguro que quieres eliminar el repostaje del
|
||||
<strong>{{ fuel.expense.date }}</strong>
|
||||
({{ fuel.liters }}L por {{ fuel.expense.amount }}€)?
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h2>Eliminar repostaje.</h2>
|
||||
|
||||
<p>
|
||||
¿Seguro que quieres eliminar el repostaje del
|
||||
<strong>{{ fuel.expense.date}}</strong>
|
||||
({{ fuel.liters }}L por {{fuel.expense.amount}}€)?
|
||||
</p>
|
||||
|
||||
{% block delete_warnings %}
|
||||
<p class="form-errors">
|
||||
Se eliminará también el gasto asociado en el listado de gastos.
|
||||
</p>
|
||||
{% endblock %}
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{% if next %}<input type="hidden" name="next" value="{{ next }}">{% endif %}
|
||||
<button class="btn btn-danger">Eliminar</button>
|
||||
<a class="btn btn-secondary" href="{% url 'fuel_list' %}">Cancelar</a>
|
||||
</form>
|
||||
{% endblock %}
|
||||
{% block delete_extra_fields %}
|
||||
{% if next %}<input type="hidden" name="next" value="{{ next }}">{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block cancel_url %}{% if next %}{{ next }}{% else %}{% url 'fuel_list' %}{% endif %}{% endblock %}
|
||||
|
||||
@ -21,20 +21,22 @@
|
||||
{% csrf_token %}
|
||||
{% if next %}<input type="hidden" name="next" value="{{ next }}">{% endif %}
|
||||
{{ form.as_p }}
|
||||
<button type="submit" class="btn btn-primary">
|
||||
{% if editing %}
|
||||
Guardar repostaje
|
||||
<div class="form-actions">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
{% if editing %}
|
||||
Guardar repostaje
|
||||
{% else %}
|
||||
Crear repostaje
|
||||
{% endif %}
|
||||
</button>
|
||||
|
||||
{% if next %}
|
||||
<a class="btn btn-secondary" href="{{ next }}">Volver</a>
|
||||
{% elif editing %}
|
||||
<a class="btn btn-secondary" href="{% url 'expense_list' %}">Volver</a>
|
||||
{% else %}
|
||||
Crear repostaje
|
||||
<a class="btn btn-secondary" href="{% url 'fuel_list' %}">Volver</a>
|
||||
{% endif %}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
{% if next %}
|
||||
<a class="btn btn-secondary" href="{{ next }}">Volver</a>
|
||||
{% elif editing %}
|
||||
<a class="btn btn-secondary" href="{% url 'expense_list' %}">Volver</a>
|
||||
{% else %}
|
||||
<a class="btn btn-secondary" href="{% url 'fuel_list' %}">Volver</a>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
@ -1,18 +1,9 @@
|
||||
{% extends "expenses/base.html" %}
|
||||
{% extends "expenses/_confirm_delete.html" %}
|
||||
|
||||
{% block title %}Objetivos{% endblock %}
|
||||
{% block content %}
|
||||
|
||||
<h1>Eliminar objetivo</h1>
|
||||
{% block delete_heading %}Eliminar objetivo{% endblock %}
|
||||
|
||||
<p>
|
||||
¿Seguro que quieres eliminar el objetivo
|
||||
<strong>{{ goal.name }}</strong>?
|
||||
</p>
|
||||
{% block delete_question %}¿Seguro que quieres eliminar el objetivo <strong>{{ goal.name }}</strong>?{% endblock %}
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<button class="btn btn-danger">Eliminar</button>
|
||||
<a class="btn btn-secondary" href="{% url 'goal_list' %}">Cancelar</a>
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
{% block cancel_url %}{% url 'goal_list' %}{% endblock %}
|
||||
|
||||
@ -11,10 +11,11 @@
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{{ form.as_p }}
|
||||
<button type="submit" class="btn btn-primary">
|
||||
Guardar
|
||||
</button>
|
||||
<div class="form-actions">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
Guardar
|
||||
</button>
|
||||
<a class="btn btn-secondary" href="{% url 'goal_list' %}">Volver</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<a class="btn btn-secondary" href="{% url 'goal_list' %}">Volver</a>
|
||||
{% endblock %}
|
||||
@ -30,17 +30,22 @@ def _get_int(value):
|
||||
return None
|
||||
|
||||
|
||||
def _redirect_back(request, fallback):
|
||||
def _safe_next(request):
|
||||
next_url = request.POST.get("next") or request.GET.get("next")
|
||||
|
||||
|
||||
if next_url and url_has_allowed_host_and_scheme(
|
||||
next_url,
|
||||
allowed_hosts={request.get_host()},
|
||||
require_https=request.is_secure(),
|
||||
):
|
||||
return redirect(next_url)
|
||||
|
||||
return redirect(fallback)
|
||||
return next_url
|
||||
|
||||
return ""
|
||||
|
||||
|
||||
def _redirect_back(request, fallback):
|
||||
next_url = _safe_next(request)
|
||||
return redirect(next_url or fallback)
|
||||
|
||||
|
||||
def sub_months(year, month, n):
|
||||
@ -804,20 +809,16 @@ def fuel_list(request):
|
||||
|
||||
@login_required
|
||||
def fuel_edit(request, pk):
|
||||
expense = get_object_or_404(
|
||||
Expense,
|
||||
pk=pk,
|
||||
owner=request.user,
|
||||
)
|
||||
expense = get_object_or_404(Expense, pk=pk, owner=request.user)
|
||||
|
||||
fuel = get_object_or_404(FuelEntry, expense=expense)
|
||||
|
||||
if request.method == "POST":
|
||||
form = FuelEntryForm(request.POST, user=request.user)
|
||||
form = FuelEntryForm(request.POST, instance=expense, user=request.user)
|
||||
|
||||
if form.is_valid():
|
||||
# Update expense
|
||||
expense.date = form.save(commit=False)
|
||||
expense = form.save(commit=False)
|
||||
expense.description = "Repostaje"
|
||||
expense.save()
|
||||
|
||||
@ -830,8 +831,8 @@ def fuel_edit(request, pk):
|
||||
else:
|
||||
form = FuelEntryForm(instance=expense, user=request.user)
|
||||
|
||||
next_url = request.POST.get("next") or request.GET.get("next", "")
|
||||
|
||||
next_url = _safe_next(request)
|
||||
|
||||
return render(
|
||||
request,
|
||||
"fuel/create.html",
|
||||
@ -854,8 +855,8 @@ def fuel_delete(request, pk):
|
||||
messages.success(request, "Repostaje eliminado.")
|
||||
return _redirect_back(request, "fuel_list")
|
||||
|
||||
next_url = request.POST.get("next") or request.GET.get("next", "")
|
||||
|
||||
next_url = _safe_next(request)
|
||||
|
||||
return render(
|
||||
request,
|
||||
"fuel/confirm_delete.html",
|
||||
|
||||
Loading…
Reference in New Issue
Block a user