From cbbcf901fc5ce7c7d42422752c34230490ce4341 Mon Sep 17 00:00:00 2001 From: Dominique Lederer Date: Thu, 15 Mar 2012 09:39:55 +0100 Subject: [PATCH 1/4] remove root_path, which produces an error on django 1.4 and also is not used in the template --- adminsortable/admin.py | 1 - 1 file changed, 1 deletion(-) diff --git a/adminsortable/admin.py b/adminsortable/admin.py index 459042a..1166448 100644 --- a/adminsortable/admin.py +++ b/adminsortable/admin.py @@ -108,7 +108,6 @@ class SortableAdmin(ModelAdmin): context = { 'title' : 'Drag and drop %s to change display order' % capfirst(verbose_name_plural), 'opts' : opts, - 'root_path' : '/%s' % admin_site.root_path, 'app_label' : opts.app_label, 'has_perm' : has_perm, 'objects' : objects, From fef90e6d0cf9b70eabcb33ad99a006c95d5087fd Mon Sep 17 00:00:00 2001 From: Dominique Lederer Date: Thu, 15 Mar 2012 09:58:52 +0100 Subject: [PATCH 2/4] make adminsortable work with descending ordering --- adminsortable/admin.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/adminsortable/admin.py b/adminsortable/admin.py index 1166448..794d94b 100644 --- a/adminsortable/admin.py +++ b/adminsortable/admin.py @@ -148,14 +148,20 @@ class SortableAdmin(ModelAdmin): indexes = map(str, request.POST.get('indexes', []).split(',')) klass = ContentType.objects.get(id=model_type_id).model_class() objects_dict = dict([(str(obj.pk), obj) for obj in klass.objects.filter(pk__in=indexes)]) - lowest_ordered_object = min(objects_dict.values(), key=lambda x: getattr(x, 'order')) - min_index = getattr(lowest_ordered_object, 'order') or 0 + if '-order' in klass._meta.ordering: #desc order + start_object = max(objects_dict.values(), key=lambda x: getattr(x, 'order')) + start_index = getattr(start_object, 'order') or len(indexes) + step = -1 + else: #'order' is default, asc order + start_object = min(objects_dict.values(), key=lambda x: getattr(x, 'order')) + start_index = getattr(start_object, 'order') or 0 + step = 1 for index in indexes: obj = objects_dict.get(index) - setattr(obj, 'order', min_index) + setattr(obj, 'order', start_index) obj.save() - min_index += 1 + start_index += step response = {'objects_sorted' : True} except (Key, IndexError, klass.DoesNotExist, AttributeError): From 1b98d00a303c0787e0a68c0cd3495d91a1eabada Mon Sep 17 00:00:00 2001 From: Dominique Lederer Date: Thu, 15 Mar 2012 10:08:06 +0100 Subject: [PATCH 3/4] removing obsolete css file references (404) --- adminsortable/templates/adminsortable/change_form.html | 1 - adminsortable/templates/adminsortable/change_list.html | 1 - 2 files changed, 2 deletions(-) diff --git a/adminsortable/templates/adminsortable/change_form.html b/adminsortable/templates/adminsortable/change_form.html index 1181805..d27b7de 100644 --- a/adminsortable/templates/adminsortable/change_form.html +++ b/adminsortable/templates/adminsortable/change_form.html @@ -19,7 +19,6 @@ {% block extrastyle %} {{ block.super }} - {% if has_sortable_tabular_inlines %} {% endif %} diff --git a/adminsortable/templates/adminsortable/change_list.html b/adminsortable/templates/adminsortable/change_list.html index 9d85464..681f645 100644 --- a/adminsortable/templates/adminsortable/change_list.html +++ b/adminsortable/templates/adminsortable/change_list.html @@ -3,7 +3,6 @@ {% block extrastyle %} {{ block.super }} - {% endblock %} From 4ed0db33047d89650e34539d5b6ac3dffc6ff348 Mon Sep 17 00:00:00 2001 From: Dominique Lederer Date: Thu, 15 Mar 2012 10:12:28 +0100 Subject: [PATCH 4/4] fixed a typo, regenerated language files --- adminsortable/locale/en/LC_MESSAGES/django.po | 2 +- adminsortable/locale/nl/LC_MESSAGES/django.mo | Bin 1009 -> 1009 bytes adminsortable/locale/nl/LC_MESSAGES/django.po | 2 +- .../templates/adminsortable/change_list.html | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/adminsortable/locale/en/LC_MESSAGES/django.po b/adminsortable/locale/en/LC_MESSAGES/django.po index db15639..7eb07a5 100644 --- a/adminsortable/locale/en/LC_MESSAGES/django.po +++ b/adminsortable/locale/en/LC_MESSAGES/django.po @@ -23,7 +23,7 @@ msgstr "" #, python-format msgid "" "You may also drag and drop %(sortable_by_class_display_name)s to change " -"thier order." +"their order." msgstr "" #: templates/adminsortable/change_list.html:50 diff --git a/adminsortable/locale/nl/LC_MESSAGES/django.mo b/adminsortable/locale/nl/LC_MESSAGES/django.mo index 54154932d65fdf45a40667c55e6b3e2a80a9c278..da7f085666227a5b86c69cec22dbd306a351fa2e 100644 GIT binary patch delta 15 Wcmey!{*iq{1LMS7+?%@@)0hA__69!y delta 15 Wcmey!{*iq{10z#r>gFcKd?o-haRr$G diff --git a/adminsortable/locale/nl/LC_MESSAGES/django.po b/adminsortable/locale/nl/LC_MESSAGES/django.po index 0a5abd6..668f3c5 100644 --- a/adminsortable/locale/nl/LC_MESSAGES/django.po +++ b/adminsortable/locale/nl/LC_MESSAGES/django.po @@ -25,7 +25,7 @@ msgstr "Sleep %(model)s om de volgorde te veranderen" #: templates/adminsortable/change_list.html:39 #, python-format -msgid "You may also drag and drop %(sortable_by_class_display_name)s to change thier order." +msgid "You may also drag and drop %(sortable_by_class_display_name)s to change their order." msgstr "U kunt ook %(sortable_by_class_display_name)s slepen om de volgorde te veranderen." #: templates/adminsortable/change_list.html:50 diff --git a/adminsortable/templates/adminsortable/change_list.html b/adminsortable/templates/adminsortable/change_list.html index 681f645..10a270e 100644 --- a/adminsortable/templates/adminsortable/change_list.html +++ b/adminsortable/templates/adminsortable/change_list.html @@ -35,7 +35,7 @@ {% if sortable_by_class.is_sortable %}

- {% blocktrans %}You may also drag and drop {{ sortable_by_class_display_name }} to change thier order.{% endblocktrans %} + {% blocktrans %}You may also drag and drop {{ sortable_by_class_display_name }} to change their order.{% endblocktrans %}

{% endif %} {% endblock %}