feat: add ordering selector to monthly_overview and all_transactions

This commit is contained in:
Herculino Trotta
2024-10-28 00:57:54 -03:00
parent 8c628718ff
commit 5aec7b840e
5 changed files with 102 additions and 54 deletions

View File

@@ -14,6 +14,7 @@ from apps.common.decorators.htmx import only_htmx
from apps.transactions.forms import TransactionForm, TransferForm
from apps.transactions.models import Transaction
from apps.transactions.filters import TransactionsFilter
from apps.transactions.utils.default_ordering import default_order
@only_htmx
@@ -164,19 +165,26 @@ def transaction_all_index(request):
@login_required
@require_http_methods(["GET"])
def transaction_all_list(request):
transactions = (
Transaction.objects.prefetch_related(
"account",
"account__group",
"category",
"tags",
"account__exchange_currency",
"account__currency",
"installment_plan",
)
.all()
.order_by("date")
)
order = request.GET.get("order")
transactions = Transaction.objects.prefetch_related(
"account",
"account__group",
"category",
"tags",
"account__exchange_currency",
"account__currency",
"installment_plan",
).all()
if order == "default":
transactions = default_order(transactions, extra_ordering=["date", "id"])
elif order == "newer":
transactions = transactions.order_by("-date", "id")
elif order == "older":
transactions = transactions.order_by("date", "id")
else:
transactions = transactions.order_by("date", "id")
f = TransactionsFilter(request.GET, queryset=transactions)