feat(app): allow changing date and datetime format as a user setting

This commit is contained in:
Herculino Trotta
2025-01-20 19:35:22 -03:00
parent f68e954bc0
commit 60fe4c9681
21 changed files with 426 additions and 130 deletions

View File

@@ -82,7 +82,7 @@ def installment_plan_transactions(request, installment_plan_id):
@require_http_methods(["GET", "POST"])
def installment_plan_add(request):
if request.method == "POST":
form = InstallmentPlanForm(request.POST)
form = InstallmentPlanForm(request.POST, user=request.user)
if form.is_valid():
form.save()
messages.success(request, _("Installment Plan added successfully"))
@@ -94,7 +94,7 @@ def installment_plan_add(request):
},
)
else:
form = InstallmentPlanForm()
form = InstallmentPlanForm(user=request.user)
return render(
request,
@@ -110,7 +110,9 @@ def installment_plan_edit(request, installment_plan_id):
installment_plan = get_object_or_404(InstallmentPlan, id=installment_plan_id)
if request.method == "POST":
form = InstallmentPlanForm(request.POST, instance=installment_plan)
form = InstallmentPlanForm(
request.POST, instance=installment_plan, user=request.user
)
if form.is_valid():
form.save()
messages.success(request, _("Installment Plan updated successfully"))
@@ -122,7 +124,7 @@ def installment_plan_edit(request, installment_plan_id):
},
)
else:
form = InstallmentPlanForm(instance=installment_plan)
form = InstallmentPlanForm(instance=installment_plan, user=request.user)
return render(
request,

View File

@@ -108,7 +108,7 @@ def recurring_transaction_transactions(request, recurring_transaction_id):
@require_http_methods(["GET", "POST"])
def recurring_transaction_add(request):
if request.method == "POST":
form = RecurringTransactionForm(request.POST)
form = RecurringTransactionForm(request.POST, user=request.user)
if form.is_valid():
form.save()
messages.success(request, _("Recurring Transaction added successfully"))
@@ -120,7 +120,7 @@ def recurring_transaction_add(request):
},
)
else:
form = RecurringTransactionForm()
form = RecurringTransactionForm(user=request.user)
return render(
request,
@@ -138,7 +138,9 @@ def recurring_transaction_edit(request, recurring_transaction_id):
)
if request.method == "POST":
form = RecurringTransactionForm(request.POST, instance=recurring_transaction)
form = RecurringTransactionForm(
request.POST, instance=recurring_transaction, user=request.user
)
if form.is_valid():
form.save()
messages.success(request, _("Recurring Transaction updated successfully"))
@@ -150,7 +152,9 @@ def recurring_transaction_edit(request, recurring_transaction_id):
},
)
else:
form = RecurringTransactionForm(instance=recurring_transaction)
form = RecurringTransactionForm(
instance=recurring_transaction, user=request.user
)
return render(
request,

View File

@@ -41,7 +41,7 @@ def transaction_add(request):
).date()
if request.method == "POST":
form = TransactionForm(request.POST)
form = TransactionForm(request.POST, user=request.user)
if form.is_valid():
form.save()
messages.success(request, _("Transaction added successfully"))
@@ -52,10 +52,11 @@ def transaction_add(request):
)
else:
form = TransactionForm(
user=request.user,
initial={
"date": expected_date,
"type": transaction_type,
}
},
)
return render(
@@ -72,7 +73,7 @@ def transaction_edit(request, transaction_id, **kwargs):
transaction = get_object_or_404(Transaction, id=transaction_id)
if request.method == "POST":
form = TransactionForm(request.POST, instance=transaction)
form = TransactionForm(request.POST, user=request.user, instance=transaction)
if form.is_valid():
form.save()
messages.success(request, _("Transaction updated successfully"))
@@ -82,7 +83,7 @@ def transaction_edit(request, transaction_id, **kwargs):
headers={"HX-Trigger": "updated, hide_offcanvas"},
)
else:
form = TransactionForm(instance=transaction)
form = TransactionForm(instance=transaction, user=request.user)
return render(
request,
@@ -172,7 +173,7 @@ def transactions_transfer(request):
).date()
if request.method == "POST":
form = TransferForm(request.POST)
form = TransferForm(request.POST, user=request.user)
if form.is_valid():
form.save()
messages.success(request, _("Transfer added successfully"))
@@ -185,7 +186,8 @@ def transactions_transfer(request):
initial={
"reference_date": expected_date,
"date": expected_date,
}
},
user=request.user,
)
return render(request, "transactions/fragments/transfer.html", {"form": form})
@@ -214,7 +216,7 @@ def transaction_pay(request, transaction_id):
@login_required
@require_http_methods(["GET"])
def transaction_all_index(request):
f = TransactionsFilter(request.GET)
f = TransactionsFilter(request.GET, user=request.user)
return render(request, "transactions/pages/transactions.html", {"filter": f})
@@ -236,7 +238,7 @@ def transaction_all_list(request):
transactions = default_order(transactions, order=order)
f = TransactionsFilter(request.GET, queryset=transactions)
f = TransactionsFilter(request.GET, user=request.user, queryset=transactions)
page_number = request.GET.get("page", 1)
paginator = Paginator(f.qs, 100)
@@ -266,7 +268,7 @@ def transaction_all_summary(request):
"installment_plan",
).all()
f = TransactionsFilter(request.GET, queryset=transactions)
f = TransactionsFilter(request.GET, user=request.user, queryset=transactions)
currency_data = calculate_currency_totals(f.qs.all(), ignore_empty=True)
currency_percentages = calculate_percentage_distribution(currency_data)