Create: search form
This commit is contained in:
parent
95352ff5f0
commit
3b1b42d483
@ -68,14 +68,19 @@
|
||||
<!-- Search -->
|
||||
<ul class="navbar-nav flex-row flex-wrap me-md-auto">
|
||||
<li class="nav-item py-2 col-12 col-lg-auto">
|
||||
<form class="d-flex" role="search">
|
||||
<form class="d-flex" role="search" action="{% url 'collector:tickets' %}">
|
||||
<input
|
||||
class="form-control me-2"
|
||||
type="search"
|
||||
placeholder="Search"
|
||||
aria-label="Search"
|
||||
name="search"
|
||||
/>
|
||||
<button class="btn btn-outline-success" type="submit"><i class="bi bi-search"></i></button>
|
||||
<button
|
||||
class="btn btn-outline-success"
|
||||
type="submit">
|
||||
<i class="bi bi-search"></i>
|
||||
</button>
|
||||
</form>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -7,8 +7,7 @@
|
||||
{% csrf_token %}
|
||||
<!-- Ticket -->
|
||||
{% for ticket in tickets %}
|
||||
<div class="row">
|
||||
<div id="div-ticket-{{ ticket.number }}" class="list-group mb-2 ms-1">
|
||||
<div id="div-ticket-{{ ticket.number }}" class="list-group mb-2">
|
||||
<div class="list-group-item list-group-item-action disable" aria-current="true">
|
||||
{% include 'collector/includes/ticket_info.html' %}
|
||||
<div class="col-xl-6 mt-1 mb-2">
|
||||
@ -16,7 +15,6 @@
|
||||
{% if ticket.note %}
|
||||
<div class="accordion-item">
|
||||
<h2 class="accordion-header">
|
||||
|
||||
<button
|
||||
class="accordion-button collapsed"
|
||||
type="button" data-bs-toggle="collapse"
|
||||
@ -78,7 +76,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal ticket -->
|
||||
{% include 'collector/includes/modal_ticket.html' %}
|
||||
<!-- Modal archive -->
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user