From 46fb0580b97790063d1d968014222367699fc250 Mon Sep 17 00:00:00 2001 From: Corban-Lee Jones Date: Fri, 5 Jan 2024 16:45:52 +0000 Subject: [PATCH] Change tickets to use Ajax over Template Syntax The tickets are now loaded dynamically using ajax, instead of when the page loads using django template syntax. This allows for dynamic reloading. --- apps/home/urls.py | 5 +- apps/home/views.py | 13 +++-- apps/templates/home/tickets.html | 87 +++++++++++++++++++++++++++----- 3 files changed, 89 insertions(+), 16 deletions(-) diff --git a/apps/home/urls.py b/apps/home/urls.py index 20c8c41..8d52334 100644 --- a/apps/home/urls.py +++ b/apps/home/urls.py @@ -13,7 +13,10 @@ urlpatterns = [ path('tickets/', include([ path('', views.tickets, name="tickets"), path('new/', views.new_ticket, name="ticket-new"), - path('get/', views.get_ticket, name="ticket-get"), + path('get/', include([ + path('one/', views.get_ticket, name="ticket-getone"), + path('many/', views.get_tickets, name="ticket-getmany"), + ])), ])), # Matches any html file diff --git a/apps/home/views.py b/apps/home/views.py index 5a3923f..abd9bbd 100644 --- a/apps/home/views.py +++ b/apps/home/views.py @@ -48,13 +48,20 @@ def get_ticket(request): @login_required @require_POST -def get_tickets(request, filters: dict): - pass +def get_tickets(request): + + filters = dict(request.POST.get("filters", {})) + + tickets = Ticket.objects.filter(**filters).order_by("-create_timestamp") + data = {"tickets": [ticket.serialize() for ticket in tickets]} + + return JsonResponse(data) @login_required() +@require_POST def new_ticket(request): - return render(request, "home/newticket.html") + return JsonResponse({"placeholder": "nothing here yet"}) @login_required() diff --git a/apps/templates/home/tickets.html b/apps/templates/home/tickets.html index 5476391..066b9a1 100644 --- a/apps/templates/home/tickets.html +++ b/apps/templates/home/tickets.html @@ -203,15 +203,11 @@ -
- {% for ticket in tickets %} +
+
@@ -235,7 +231,7 @@ {{ ticket.description|safe }}
- {% endfor %} + {% endfor %} -->
@@ -350,7 +346,7 @@