From 469e7d5d4dfb4923035b45e01847db52d5cf73ae Mon Sep 17 00:00:00 2001 From: Brandon Taylor Date: Mon, 25 Nov 2013 22:03:20 -0500 Subject: [PATCH] Added new stacked and tabular change form templates for inlines from Django 1.6. Added backwards compatibility changes for the setting of the edit inline template to use. --- README.md | 6 +- adminsortable/__init__.py | 2 +- adminsortable/admin.py | 20 +- .../adminsortable/edit_inline/stacked.html | 119 +++------- .../adminsortable/edit_inline/tabular.html | 215 +++++++----------- sample_project/database/test_project.sqlite | Bin 70656 -> 71680 bytes 6 files changed, 135 insertions(+), 227 deletions(-) diff --git a/README.md b/README.md index 511f61d..8dc18f2 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Django Admin Sortable -Current version: 1.6.1 +Current version: 1.6.2 This project makes it easy to add drag-and-drop ordering to any model in Django admin. Inlines for a sortable model may also be made sortable, @@ -284,10 +284,10 @@ ordering on top of that just seemed a little much in my opinion. django-admin-sortable is currently used in production. -### What's new in 1.6.1? +### What's new in 1.6.2? - Faster query counting - thanks [PyKaB](https://github.com/PyKaB) - Updated jQueryUI to be compatible with jQuery 1.9.x or higher. -- Django 1.6 compatibility +- Django 1.6 compatibility, with [fixes for inline models](https://github.com/iambrandontaylor/django-admin-sortable/issues/64). - Fixed the link to jQueryUI in the admin sortable change form (facepalm) diff --git a/adminsortable/__init__.py b/adminsortable/__init__.py index 0d2f3f5..80b6f32 100755 --- a/adminsortable/__init__.py +++ b/adminsortable/__init__.py @@ -1,4 +1,4 @@ -VERSION = (1, 6, 1) # following PEP 386 +VERSION = (1, 6, 2) # following PEP 386 DEV_N = None diff --git a/adminsortable/admin.py b/adminsortable/admin.py index dc0e819..447da4c 100644 --- a/adminsortable/admin.py +++ b/adminsortable/admin.py @@ -268,19 +268,31 @@ class SortableInlineBase(SortableAdminBase, InlineModelAdmin): class SortableTabularInline(TabularInline, SortableInlineBase): """Custom template that enables sorting for tabular inlines""" - template = 'adminsortable/edit_inline/tabular.html' + if DJANGO_MINOR_VERSION <= 5: + template = 'adminsortable/edit_inline/tabular-1.5.x.html' + else: + template = 'adminsortable/edit_inline/tabular.html' class SortableStackedInline(StackedInline, SortableInlineBase): """Custom template that enables sorting for stacked inlines""" - template = 'adminsortable/edit_inline/stacked.html' + if DJANGO_MINOR_VERSION <= 5: + template = 'adminsortable/edit_inline/stacked-1.5.x.html' + else: + template = 'adminsortable/edit_inline/stacked.html' class SortableGenericTabularInline(GenericTabularInline, SortableInlineBase): """Custom template that enables sorting for tabular inlines""" - template = 'adminsortable/edit_inline/tabular.html' + if DJANGO_MINOR_VERSION <= 5: + template = 'adminsortable/edit_inline/tabular-1.5.x.html' + else: + template = 'adminsortable/edit_inline/tabular.html' class SortableGenericStackedInline(GenericStackedInline, SortableInlineBase): """Custom template that enables sorting for stacked inlines""" - template = 'adminsortable/edit_inline/stacked.html' + if DJANGO_MINOR_VERSION <= 5: + template = 'adminsortable/edit_inline/stacked-1.5.x.html' + else: + template = 'adminsortable/edit_inline/stacked.html' diff --git a/adminsortable/templates/adminsortable/edit_inline/stacked.html b/adminsortable/templates/adminsortable/edit_inline/stacked.html index bc7ce69..2a47d99 100644 --- a/adminsortable/templates/adminsortable/edit_inline/stacked.html +++ b/adminsortable/templates/adminsortable/edit_inline/stacked.html @@ -1,86 +1,33 @@ -{% load i18n admin_modify adminsortable_tags %} -{% load static from staticfiles %} -
-

{{ inline_admin_formset.opts.verbose_name_plural|title }} {% if inline_admin_formset.formset.initial_form_count > 1 %} - {% trans "drag and drop to change order" %}{% endif %}

-{{ inline_admin_formset.formset.management_form }} -{{ inline_admin_formset.formset.non_form_errors }} - -{% for inline_admin_form in inline_admin_formset %}
-

{{ inline_admin_formset.opts.verbose_name|title }}: {% if inline_admin_form.original %}{{ inline_admin_form.original }}{% else %}#{{ forloop.counter }}{% endif %} - {% if inline_admin_form.show_url %}{% trans "View on site" %}{% endif %} - {% if inline_admin_formset.formset.can_delete and inline_admin_form.original %}{{ inline_admin_form.deletion_field.field }} {{ inline_admin_form.deletion_field.label_tag }}{% endif %} -

- {% if inline_admin_form.form.non_field_errors %}{{ inline_admin_form.form.non_field_errors }}{% endif %} - {% for fieldset in inline_admin_form %} - {% include "admin/includes/fieldset.html" %} - {% endfor %} - {% if inline_admin_form.has_auto_field %}{{ inline_admin_form.pk_field.field }}{% endif %} - {{ inline_admin_form.fk_field.field }} - {% if inline_admin_form.original %} - - {% endif %} -
{% endfor %} -
- - +{% load i18n admin_static %} +
+

{{ inline_admin_formset.opts.verbose_name_plural|title }} {% if inline_admin_formset.formset.initial_form_count > 1 %} - {% trans "drag and drop to change order" %}{% endif %}

+{{ inline_admin_formset.formset.management_form }} +{{ inline_admin_formset.formset.non_form_errors }} + +{% for inline_admin_form in inline_admin_formset %}
+

{{ inline_admin_formset.opts.verbose_name|title }}: {% if inline_admin_form.original %}{{ inline_admin_form.original }}{% else %}#{{ forloop.counter }}{% endif %} + {% if inline_admin_form.show_url %}{% trans "View on site" %}{% endif %} + {% if inline_admin_formset.formset.can_delete and inline_admin_form.original %}{{ inline_admin_form.deletion_field.field }} {{ inline_admin_form.deletion_field.label_tag }}{% endif %} +

+ {% if inline_admin_form.form.non_field_errors %}{{ inline_admin_form.form.non_field_errors }}{% endif %} + {% for fieldset in inline_admin_form %} + {% include "admin/includes/fieldset.html" %} + {% endfor %} + {% if inline_admin_form.needs_explicit_pk_field %}{{ inline_admin_form.pk_field.field }}{% endif %} + {{ inline_admin_form.fk_field.field }} + {% if inline_admin_form.original %} + + {% endif %} +
{% endfor %} +
+ + diff --git a/adminsortable/templates/adminsortable/edit_inline/tabular.html b/adminsortable/templates/adminsortable/edit_inline/tabular.html index 34555ee..ec572b1 100644 --- a/adminsortable/templates/adminsortable/edit_inline/tabular.html +++ b/adminsortable/templates/adminsortable/edit_inline/tabular.html @@ -1,133 +1,82 @@ -{% load i18n admin_modify adminsortable_tags %} -{% load static from staticfiles %} -
- -
- - +{% load i18n admin_static admin_modify %}{% load cycle from future %} +
+ +
+ + diff --git a/sample_project/database/test_project.sqlite b/sample_project/database/test_project.sqlite index 829e3ce3e2bb9de2c601be64d90c23e442b24254..610bf6635ba4af6be9bf8c907faad87d1a21cc6b 100644 GIT binary patch delta 1997 zcma)7>uVfU9G!d5>|szo6cOcC#$O=^-&Z1%&M%l_t` zd(QdYd*}2=;_1)Cw;OyH1VK3Tj{GROF!e$zUTMjyo{S}unyKi9YOBSI@mNh{N}w|R zhfLux2IxWBhiS4zF4HgQk9ZJQ=v$aBhQu@x@vgAf4T-ypQ|;FY*~5nN-aTk1JyvQk z-W^X^L&N4+JUgK3nRxeDOtq}k*!akJzPWhi>4$<3P~2f^ghN8%4vhyog?=N=8(KL|QmB zb7Ntd5cXC*1L7TutEaEn9;#>TRpD>S$n8Ry0g_khQxE&nFQFNgl zZAJO@T7-QdL~8M{*~2Ce-PG}LP^$CB;o_;Ylff!K@_x+VV_e1WOmQABGo4St?LJri zaFyg22nmNJ`b4(Bf4plTGkP)<5~hFo_JFM3lW8Mxl|5G}wC2IJr@|%^7q?GCgufcGQt$5^dzBSk+%%HCfeHs*2@R zgH^>+)mL8CCE7$-HBQ`5<}9-jr8iOjrY6w}+-2%73HS?tGP~E9-344?>c7STZZ)u+ z4j+qNf<7-bKm?H}&y2DF#0oEk`TzEqx5F6EHz@5Lk4N%z9;ws`k4Hjr@rTeO6|R5^ zT0>l6)(wd+B{}xkO-Uzv9CcI2M)nn&eeDz5Tkm)7+)pnbtkv{r`O*5ari$Dm_1l?H zN$3-B7CY(p^f~GyGvttPSLkC)brvRev{VSK64?^lGoqRn)mQEi!)E8y)@@7D zyHW!~{f^u@lI?SPMrED0rqfPZ?iq2?nNd07?RDAPsS!mk)lMw;e~|Y-Qr?c3oGi%e zc_YfTLm>? zY;Nv;2244*k^aWb^xH|pQdBb*PuR=)3#$_?H_+LzLe;uXznL^tMKcnnnb;tTwY}kY zj_h4J5hYi@CX&MHew+N8k%;TIy&`Y5x~=up*f^41D?Zk>v=B4cw@T4X)7H1x)4DYV wR_QnFq-iOZYTH|HX`$?%(l<1a3;)lmhN-A_+_JPyJF)3Ta^L%{9(qLi7oEK4nE(I) delta 863 zcmah{Ur19?7(eHJcbhH)r>3Bmrb#4NyLVpKB#Zff;wJfTyEmeo+uXmKGrR2%n63hY zv>JP`pvQ#hsd=Lwq_^_LCkcu$eMlJyf+T3*DmvGPd?@IAaQM#o{m$?EeTQ%2B|Y(+ zepI5GMhLYe$}iyQ)YSoFuA!W%t!J2e)^ysauVsz$l94N@m_k%J^$Vw<9Ym^y^5YEt zNWG#yLnSOz5AhV9O2u8c>I7JEI6TUD+!4RQbJG#T7Z(e-L(#M0GC5^k z$JmmHSK_Kf{J6Z_bt+4XAwzti2FS>|oGp-lUOHcquQwi;F>xGI$CSyoTd!462+5@8 zZjG#?uaInVq_hym5M*EnwqOI^!y2r>Cs=|-xC3J{d+!J&9<|G3_b0RRXn3lId3Zsv z6^JO2ig!ZNIg@{e)Q35gr}#Kn|G3!%fCbn}KASno<*L;P#38`rRi4Lg%V~SRG zwMN;AJPp|x2&_U{_(o1?1e>JyH0;3_C5X@hXkiy=Nk_YgmecbkIfvjYqF@%mEW9Ix zCy<<7Y)}dvOPGsuwD5zV+X%kHHbK)+OasoQlu8ug&_s#gJNutZ@C}f6KIqPAs}X3a z0$h!YQ}M%ie2=jHtoTrw%6j{<`F{f;G<$t~tdFyamWZvlG06Aw2El$&Z;J&*o)x@8 zvpH;IJG{2G)&MWI#JcQ#QEPL^XbGCUE=TvU!_XfS9338BoOz(dn(-z}oki>(;qBZt zXO#0hSx!GF27R4kE8}V#l6bMzKfv}&Lc3M!wVMKhJ<`P6ZPx`m7qIxkJ_oDtydIas p790$kLITmVI`j>!o-x!gY|Y<886Q1L8kNkfGVtP?iaflEe*@0A>Bay6