[UPDT] HORILLA VIEWS: List view with optional filter class

This commit is contained in:
Horilla
2024-08-14 12:17:45 +05:30
parent fe5626ab0f
commit aacdb0335d
6 changed files with 14 additions and 12 deletions

View File

@@ -114,8 +114,8 @@ class HorillaListView(ListView):
def get_queryset(self):
if not self.queryset:
queryset = super().get_queryset()
self.queryset = super().get_queryset()
self._saved_filters = QueryDict("", mutable=True)
if self.filter_class:
query_dict = self.request.GET
if "filter_applied" in query_dict.keys():
@@ -144,7 +144,7 @@ class HorillaListView(ListView):
self._saved_filters = query_dict
self.request.exclude_filter_form = True
self.queryset = self.filter_class(
data=query_dict, queryset=queryset, request=self.request
data=query_dict, queryset=self.queryset, request=self.request
).qs
return self.queryset

View File

@@ -7,4 +7,4 @@
style="border-radius :50px ;overflow :hidden;" src="{{object.get_avatar}}" />
<span>{{object}}</span>
</a>
{% endfor %}
{% endfor %}

View File

@@ -14,6 +14,7 @@
></ion-icon>
</a>
</div>
{% if search_url %}
<form autocomplete="off" id="filterForm" onsubmit="event.preventDefault()" hx-get="{{search_url}}?&referrer={{request.META.HTTP_REFERER}}&{{request.GET.urlencode}}" hx-replace-url="true" hx-target="{{search_swap_target}}" class="oh-main__titlebar oh-main__titlebar--right">
<div class="oh-input-group oh-input__search-group" id="searchGroup">
<ion-icon
@@ -182,6 +183,8 @@
<input type="hidden" id="pageInput">
<input type="hidden" id="sortInput">
</form>
{% endif %}
{% if create_attrs %}
<a
class="oh-btn oh-btn--secondary ml-2"

View File

@@ -16,7 +16,7 @@
{% for object in instances|slice:"6" %}
<li {% if instance.pk == object.pk %} class="active" {% endif %}>
<a
hx-get="{{object.get_profile_url}}"
hx-get="{{object.get_profile_url}}?{{request.GET.urlencode}}"
hx-target="#{{view_id|safe}}"
hx-swap="outerHTML"
class="d-block">
@@ -55,11 +55,11 @@
</div>
<div id="profileSearch">
{% for object in instances|slice:"6:9" %}
<a
<a
hx-get="{{object.get_profile_url}}"
hx-target="#{{view_id|safe}}"
hx-swap="outerHTML"
><img
><img
{% if instance.pk == object.pk %} class="active" {% endif %}
style="border-radius :30px ;overflow :hidden;"
src="{{object.get_avatar}}" />
@@ -77,7 +77,7 @@
<div class="d-flex align-items-center gap-3">
<div class="container-right-left-arrows float-right">
<a
hx-get="{{previous_url}}?instance_ids={{instance_ids}}"
hx-target="#{{view_id|safe}}"
hx-swap="outerHTML"
@@ -244,7 +244,7 @@
</div>
</div>
<script>
$(".oh-general__tab-link").click(function (e) {
$(".oh-general__tab-link").click(function (e) {
var target = `[data-target="${$(this).attr('data-target')}"]`
e.preventDefault();
$.ajax({
@@ -255,7 +255,7 @@
"target":target,
},
success: function (response) {
}
});
});

View File

@@ -3,4 +3,4 @@
<div class="oh-wrapper" hx-get="/employee-profile-view/5/?instance_ids=[1,2,3,4,5,6,7,8,9,10,11,12,13]" hx-trigger="load">
</div>
{% endblock content %}
{% endblock content %}