Updated version to 1.3.2.
Updated status to stable/production. Added AttributeError exception handling for models that specify a SortableForeignKey that does not inherit from Sortable. Added template support for nested objects that are sortable by a foreign key, where the foreign key is not sortable.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
VERSION = (1, 3, 1) # following PEP 386
|
||||
VERSION = (1, 3, 2) # following PEP 386
|
||||
DEV_N = None
|
||||
|
||||
|
||||
|
||||
@@ -59,7 +59,6 @@ class SortableAdmin(ModelAdmin):
|
||||
changed via drag-and-drop.
|
||||
"""
|
||||
opts = self.model._meta
|
||||
admin_site = self.admin_site
|
||||
has_perm = request.user.has_perm(opts.app_label + '.' + opts.get_change_permission())
|
||||
objects = self.model.objects.all()
|
||||
|
||||
@@ -87,7 +86,10 @@ class SortableAdmin(ModelAdmin):
|
||||
sortable_by_class_display_name = sortable_by_fk.rel.to._meta.verbose_name_plural
|
||||
sortable_by_class = sortable_by_fk.rel.to
|
||||
sortable_by_expression = sortable_by_fk.name.lower()
|
||||
sortable_by_class_is_sortable = sortable_by_class.is_sortable()
|
||||
try:
|
||||
sortable_by_class_is_sortable = sortable_by_class.is_sortable()
|
||||
except AttributeError:
|
||||
sortable_by_class_is_sortable = False
|
||||
|
||||
else:
|
||||
#model is not sortable by another model
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
{% load adminsortable_tags %}
|
||||
{% for object in list_objects %}
|
||||
<li>
|
||||
{% render_object_rep object %}
|
||||
</li>
|
||||
{% endfor %}
|
||||
{% with list_objects_length=list_objects|length %}
|
||||
{% for object in list_objects %}
|
||||
<li>
|
||||
{% if list_objects_length > 1 %}
|
||||
{% render_object_rep object %}
|
||||
{% else %}
|
||||
{{ object }}
|
||||
{% endif %}
|
||||
</li>
|
||||
{% endfor %}
|
||||
{% endwith %}
|
||||
|
||||
@@ -5,12 +5,18 @@
|
||||
{% for regrouped_object in regrouped_objects %}
|
||||
<li>
|
||||
{% with object=regrouped_object.grouper %}
|
||||
{% render_object_rep object %}
|
||||
{% if sortable_by_class_is_sortable %}
|
||||
{% render_object_rep object %}
|
||||
{% else %}
|
||||
{{ object }}
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
{% if regrouped_object.list %}
|
||||
<ul {% if regrouped_object.grouper.is_sortable %}class="sortable"{% endif %}>
|
||||
{% with regrouped_object_list_length=regrouped_object.list|length %}
|
||||
<ul {% if regrouped_object_list_length > 1 %}class="sortable"{% endif %}>
|
||||
{% render_list_items regrouped_object.list %}
|
||||
</ul>
|
||||
{% endwith %}
|
||||
{% endif %}
|
||||
</li>
|
||||
{% endfor %}
|
||||
|
||||
Reference in New Issue
Block a user