From 3b1b42d4834ed7f5d988f63cfb626780810d5e11 Mon Sep 17 00:00:00 2001 From: MOIS3Y Date: Mon, 7 Aug 2023 12:31:30 +0900 Subject: [PATCH] Create: search form --- .../collector/includes/navigation.html | 9 +++++++-- .../collector/templates/collector/tickets.html | 5 +---- logs_collector/collector/views.py | 18 ++++++++++++++++++ 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/logs_collector/collector/templates/collector/includes/navigation.html b/logs_collector/collector/templates/collector/includes/navigation.html index 3111eb4..26cef13 100644 --- a/logs_collector/collector/templates/collector/includes/navigation.html +++ b/logs_collector/collector/templates/collector/includes/navigation.html @@ -68,14 +68,19 @@ diff --git a/logs_collector/collector/templates/collector/tickets.html b/logs_collector/collector/templates/collector/tickets.html index 4e28091..1a40521 100644 --- a/logs_collector/collector/templates/collector/tickets.html +++ b/logs_collector/collector/templates/collector/tickets.html @@ -7,8 +7,7 @@ {% csrf_token %} {% for ticket in tickets %} -
-
+
{% include 'collector/includes/ticket_info.html' %}
@@ -16,7 +15,6 @@ {% if ticket.note %}

-

-
{% include 'collector/includes/modal_ticket.html' %} diff --git a/logs_collector/collector/views.py b/logs_collector/collector/views.py index bddf1ea..7f00797 100644 --- a/logs_collector/collector/views.py +++ b/logs_collector/collector/views.py @@ -4,6 +4,7 @@ from django.http import FileResponse, JsonResponse from django.views import generic from django.views.generic.detail import SingleObjectMixin from django.urls import reverse_lazy +from django.db.models import Q from rest_framework import status # from rest_framework.response import Response @@ -64,6 +65,23 @@ class ListAllTickets(PageTitleViewMixin, generic.ListView): paginate_by = 5 title = 'Collector - tickets' + def get_queryset(self): + search_query = self.request.GET.get('search', '') + if search_query: + query_list = [] + try: + for item in search_query.split(','): + query_list.append(int(item)) + except ValueError: + return super().get_queryset() + queryset = self.model.objects.filter( + Q(number__in=query_list) | Q(number__icontains=query_list[0]) + ) + self.paginate_by = 100 # fake disable pagination) + return queryset + + return super().get_queryset() + class ListPlatformTickets(PageTitleViewMixin, generic.ListView): model = Ticket