From d314fe7e4e82a2e9b74644fd500371b33d8e5098 Mon Sep 17 00:00:00 2001 From: MOIS3Y <s.zhukovskii@ispsystem.com> Date: Fri, 1 Sep 2023 17:58:58 +0900 Subject: [PATCH] Add: resolved tickets filter --- logs_collector/collector/views.py | 30 +++++++++---------- .../templates/includes/navigation.html | 8 +++++ 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/logs_collector/collector/views.py b/logs_collector/collector/views.py index 1459842..5377061 100644 --- a/logs_collector/collector/views.py +++ b/logs_collector/collector/views.py @@ -78,27 +78,27 @@ class ListAllTickets(LoginRequiredMixin, PageTitleViewMixin, generic.ListView): 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]) - ) + resolved_status_query = self.request.GET.get('resolved', '') + if search_query or resolved_status_query: self.paginate_by = 100 # ? fake disable pagination) + 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]) # noqa:E501 + ) + if resolved_status_query: + queryset = self.model.objects.filter(Q(resolved=True)) return queryset return super().get_queryset() -class ListPlatformTickets( - LoginRequiredMixin, - PageTitleViewMixin, - generic.ListView - ): +class ListPlatformTickets(LoginRequiredMixin, PageTitleViewMixin, generic.ListView): # noqa:E501 model = Ticket template_name = 'collector/tickets.html' context_object_name = 'tickets' diff --git a/logs_collector/templates/includes/navigation.html b/logs_collector/templates/includes/navigation.html index aa0bcfd..2310f06 100644 --- a/logs_collector/templates/includes/navigation.html +++ b/logs_collector/templates/includes/navigation.html @@ -53,6 +53,14 @@ </li> {% endfor %} <li><hr class="dropdown-divider" /></li> + <li> + <a + class="dropdown-item {% if request.GET.resolved %}active{% endif %}" + href="{% url 'collector:tickets' %}?resolved=true"> + <i class="bi bi-check-circle"></i> Resolved + </a> + </li> + <li><hr class="dropdown-divider" /></li> <li> <a class="dropdown-item" href="{% url 'collector:tickets' %}"> <i class="bi bi-funnel"></i> Reset filter