- Appplied filters to queryset check for length of items in change list
- Added conditional in template to show/hide sort linkmaster
parent
1e395ab3f0
commit
478600fd5a
|
|
@ -40,7 +40,19 @@ class SortableAdminBase(object):
|
||||||
its sort order can be changed. This view adds a link to the
|
its sort order can be changed. This view adds a link to the
|
||||||
object_tools block to take people to the view to change the sorting.
|
object_tools block to take people to the view to change the sorting.
|
||||||
"""
|
"""
|
||||||
if get_is_sortable(self.get_queryset(request)):
|
|
||||||
|
# apply any filters via the querystring
|
||||||
|
filters = {}
|
||||||
|
|
||||||
|
for k, v in request.GET.items():
|
||||||
|
filters.update({ k: v })
|
||||||
|
|
||||||
|
# Check if the filtered queryset contains more than 1 item
|
||||||
|
# to enable sort link
|
||||||
|
queryset = self.get_queryset(request).filter(**filters)
|
||||||
|
self.is_sortable = False
|
||||||
|
|
||||||
|
if get_is_sortable(queryset):
|
||||||
self.change_list_template = \
|
self.change_list_template = \
|
||||||
self.sortable_change_list_with_sort_link_template
|
self.sortable_change_list_with_sort_link_template
|
||||||
self.is_sortable = True
|
self.is_sortable = True
|
||||||
|
|
@ -51,8 +63,10 @@ class SortableAdminBase(object):
|
||||||
extra_context.update({
|
extra_context.update({
|
||||||
'change_list_template_extends': self.change_list_template_extends,
|
'change_list_template_extends': self.change_list_template_extends,
|
||||||
'sorting_filters': [sort_filter[0] for sort_filter
|
'sorting_filters': [sort_filter[0] for sort_filter
|
||||||
in getattr(self.model, 'sorting_filters', [])]
|
in getattr(self.model, 'sorting_filters', [])],
|
||||||
|
'is_sortable': self.is_sortable
|
||||||
})
|
})
|
||||||
|
|
||||||
return super(SortableAdminBase, self).changelist_view(request,
|
return super(SortableAdminBase, self).changelist_view(request,
|
||||||
extra_context=extra_context)
|
extra_context=extra_context)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,9 +24,11 @@
|
||||||
<a href="./sort/?sort_filter={{ forloop.counter0 }}">{% trans 'Change Order of' %} {{ sorting_filter }}</a>
|
<a href="./sort/?sort_filter={{ forloop.counter0 }}">{% trans 'Change Order of' %} {{ sorting_filter }}</a>
|
||||||
</li>
|
</li>
|
||||||
{% empty %}
|
{% empty %}
|
||||||
|
{% if is_sortable %}
|
||||||
<li>
|
<li>
|
||||||
<a id="change-order" href="./sort/">{% trans 'Change Order' %}</a>
|
<a id="change-order" href="./sort/">{% trans 'Change Order' %}</a>
|
||||||
</li>
|
</li>
|
||||||
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{{ block.super }}
|
{{ block.super }}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue