feat: add trash can to see deleted transactions

This commit is contained in:
Herculino Trotta
2025-02-01 11:12:43 -03:00
parent f9d299cb78
commit 0a3e47819a
12 changed files with 1351 additions and 837 deletions
+43 -1
View File
@@ -244,7 +244,7 @@ def transaction_clone(request, transaction_id, **kwargs):
@login_required
@require_http_methods(["DELETE"])
def transaction_delete(request, transaction_id, **kwargs):
transaction = get_object_or_404(Transaction, id=transaction_id)
transaction = get_object_or_404(Transaction.all_objects, id=transaction_id)
transaction.delete()
@@ -256,6 +256,24 @@ def transaction_delete(request, transaction_id, **kwargs):
)
@only_htmx
@login_required
@require_http_methods(["GET"])
def transaction_undelete(request, transaction_id, **kwargs):
transaction = get_object_or_404(Transaction.deleted_objects, id=transaction_id)
transaction.deleted = False
transaction.deleted_at = None
transaction.save()
messages.success(request, _("Transaction restored successfully"))
return HttpResponse(
status=204,
headers={"HX-Trigger": "updated"},
)
@only_htmx
@login_required
@require_http_methods(["GET", "POST"])
@@ -457,3 +475,27 @@ def transaction_all_summary_select(request, selected):
return HttpResponse(
status=204,
)
@login_required
@require_http_methods(["GET"])
def transactions_trash_can_index(request):
return render(request, "transactions/pages/trash.html")
def transactions_trash_can_list(request):
transactions = Transaction.deleted_objects.prefetch_related(
"account",
"account__group",
"category",
"tags",
"account__exchange_currency",
"account__currency",
"installment_plan",
).all()
return render(
request,
"transactions/fragments/trash_list.html",
{"transactions": transactions},
)