feat: add active and finished tabs to installment plan management

This commit is contained in:
Herculino Trotta
2024-11-04 00:09:11 -03:00
parent b351a549f4
commit db04845313
5 changed files with 127 additions and 64 deletions

View File

@@ -82,6 +82,16 @@ urlpatterns = [
views.installment_plans_list,
name="installment_plans_list",
),
path(
"installment-plans/list/active/",
views.active_installment_plans_list,
name="active_installment_plans_list",
),
path(
"installment-plans/list/finished/",
views.finished_installment_plans_list,
name="finished_installment_plans_list",
),
path(
"installment-plans/add/",
views.installment_plan_add,

View File

@@ -25,12 +25,41 @@ def installment_plans_index(request):
@login_required
@require_http_methods(["GET"])
def installment_plans_list(request):
installment_plans = InstallmentPlan.objects.all().order_by("-end_date")
return render(
request,
"installment_plans/fragments/list.html",
{"installment_plans": installment_plans},
)
@only_htmx
@login_required
@require_http_methods(["GET"])
def active_installment_plans_list(request):
today = timezone.localdate(timezone.now())
installment_plans = InstallmentPlan.objects.filter(end_date__gte=today).order_by(
"-end_date"
)
return render(
request,
"installment_plans/fragments/table.html",
{"installment_plans": installment_plans, "active": True},
)
@only_htmx
@login_required
@require_http_methods(["GET"])
def finished_installment_plans_list(request):
today = timezone.localdate(timezone.now())
installment_plans = InstallmentPlan.objects.filter(end_date__lt=today).order_by(
"-end_date"
)
return render(
request,
"installment_plans/fragments/table.html",
{"installment_plans": installment_plans, "active": False},
)