better filter dropdown
This commit is contained in:
parent
5ea174d553
commit
bf0ffc52f2
|
@ -28,8 +28,7 @@
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Filter Dropdown -->
|
<div class="col-md-6 text-md-end">
|
||||||
<div class="col-md-6 text-md-end">
|
|
||||||
<div class="dropdown">
|
<div class="dropdown">
|
||||||
<button class="btn btn-outline-secondary dropdown-toggle" type="button" id="filterDropdown" data-bs-toggle="dropdown" aria-expanded="false">
|
<button class="btn btn-outline-secondary dropdown-toggle" type="button" id="filterDropdown" data-bs-toggle="dropdown" aria-expanded="false">
|
||||||
<i class="bi bi-filter me-2"></i>
|
<i class="bi bi-filter me-2"></i>
|
||||||
|
@ -38,23 +37,30 @@
|
||||||
<ul class="dropdown-menu" aria-labelledby="filterDropdown">
|
<ul class="dropdown-menu" aria-labelledby="filterDropdown">
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<a class="dropdown-item {% if show_closed %}border border-info rounded{% endif %} " href="?show_closed={% if show_closed %}false{% else %}true{% endif %}{% if search_query %}&q={{ search_query }}{% endif %}">
|
<a class="dropdown-item" href="?{% if search_query %}q={{ search_query }}&{% endif %}show_closed=false">
|
||||||
{% trans 'Closed Lots' %}
|
{% trans 'Open Lots' %}
|
||||||
{% if show_closed %}<i class="bi bi-check"></i>{% endif %}
|
{% if show_closed == 'false' %}<i class="bi bi-check"></i>{% endif %}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<a class="dropdown-item" href="?{% if search_query %}q={{ search_query }}{% endif %}">
|
<a class="dropdown-item" href="?{% if search_query %}q={{ search_query }}&{% endif %}show_closed=true">
|
||||||
{% trans 'Clear Filters' %}
|
{% trans 'Closed Lots' %}
|
||||||
|
{% if show_closed == 'true' %}<i class="bi bi-check"></i>{% endif %}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<a class="dropdown-item" href="?{% if search_query %}q={{ search_query }}&{% endif %}show_closed=both">
|
||||||
|
{% trans 'All Lots' %}
|
||||||
|
{% if show_closed == 'both' %}<i class="bi bi-check"></i>{% endif %}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Lots Table -->
|
|
||||||
{% render_table table %}
|
{% render_table table %}
|
||||||
<div class="mt-5 d-flex align-items-center justify-content-center">
|
<div class="mt-5 d-flex align-items-center justify-content-center">
|
||||||
{% if table.page and table.paginator.num_pages > 1 %}
|
{% if table.page and table.paginator.num_pages > 1 %}
|
||||||
|
|
|
@ -172,13 +172,16 @@ class LotsTagsView(DashboardView, tables.SingleTableView):
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
self.pk = self.kwargs.get('pk')
|
self.pk = self.kwargs.get('pk')
|
||||||
self.tag = get_object_or_404(LotTag, owner=self.request.user.institution, id=self.pk)
|
self.tag = get_object_or_404(LotTag, owner=self.request.user.institution, id=self.pk)
|
||||||
self.show_closed = self.request.GET.get('show_closed', 'false') == 'true'
|
self.show_open = self.request.GET.get('show_open', 'false') == 'true'
|
||||||
|
self.show_closed = self.request.GET.get('show_closed', 'false')
|
||||||
self.search_query = self.request.GET.get('q', '').strip()
|
self.search_query = self.request.GET.get('q', '').strip()
|
||||||
|
|
||||||
queryset = Lot.objects.filter(owner=self.request.user.institution, type=self.tag)
|
queryset = Lot.objects.filter(owner=self.request.user.institution, type=self.tag)
|
||||||
|
|
||||||
if not self.show_closed:
|
if self.show_closed == 'true':
|
||||||
queryset = queryset.filter(closed=True)
|
queryset = queryset.filter(closed=True)
|
||||||
|
elif self.show_closed == 'false':
|
||||||
|
queryset = queryset.filter(closed=False)
|
||||||
|
|
||||||
if self.search_query:
|
if self.search_query:
|
||||||
queryset = queryset.filter(
|
queryset = queryset.filter(
|
||||||
|
@ -200,7 +203,7 @@ class LotsTagsView(DashboardView, tables.SingleTableView):
|
||||||
'title': self.title + " " + self.tag.name,
|
'title': self.title + " " + self.tag.name,
|
||||||
'breadcrumb': self.breadcrumb + " " + self.tag.name,
|
'breadcrumb': self.breadcrumb + " " + self.tag.name,
|
||||||
'show_closed': self.show_closed,
|
'show_closed': self.show_closed,
|
||||||
'search_query': self.search_query, # Pass the search query to the template
|
'search_query': self.search_query,
|
||||||
})
|
})
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue