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 @@