diff --git a/categories/editor/settings.py b/categories/editor/settings.py
index 9f4658a..cd83e10 100644
--- a/categories/editor/settings.py
+++ b/categories/editor/settings.py
@@ -9,3 +9,5 @@ if STATIC_URL == None:
MEDIA_PATH = getattr(settings, 'EDITOR_MEDIA_PATH', '%seditor/' % STATIC_URL)
TREE_INITIAL_STATE = getattr(settings, 'EDITOR_TREE_INITIAL_STATE', 'collapsed')
+
+IS_GRAPPELLI_INSTALLED = True if 'grappelli' in settings.INSTALLED_APPS else False
diff --git a/categories/editor/templates/admin/editor/grappelli_tree_editor.html b/categories/editor/templates/admin/editor/grappelli_tree_editor.html
new file mode 100644
index 0000000..34da30e
--- /dev/null
+++ b/categories/editor/templates/admin/editor/grappelli_tree_editor.html
@@ -0,0 +1,38 @@
+{% extends "admin/change_list.html" %}
+{% load adminmedia admin_list i18n admin_tree_list %}
+{% block extrahead %}
+ {{block.super}}
+
+{% endblock %}
+{% block result_list %}
+ {% result_tree_list cl %}
+ {% if action_form and actions_on_bottom and cl.full_result_count %}{% admin_actions %}{% endif %}
+{% endblock %}
diff --git a/categories/editor/templates/admin/editor/grappelli_tree_list_results.html b/categories/editor/templates/admin/editor/grappelli_tree_list_results.html
new file mode 100644
index 0000000..379471e
--- /dev/null
+++ b/categories/editor/templates/admin/editor/grappelli_tree_list_results.html
@@ -0,0 +1,28 @@
+{% if result_hidden_fields %}
+
{# DIV for HTML validation #}
+ {% for item in result_hidden_fields %}{{ item }}{% endfor %}
+
+{% endif %}
+
+{% if results %}
+
+{% endif %}
\ No newline at end of file
diff --git a/categories/editor/templates/admin/editor/tree_editor.html b/categories/editor/templates/admin/editor/tree_editor.html
index 34da30e..08b7d2f 100644
--- a/categories/editor/templates/admin/editor/tree_editor.html
+++ b/categories/editor/templates/admin/editor/tree_editor.html
@@ -5,7 +5,7 @@
{% endblock %}
{% block result_list %}
+ {% if action_form and actions_on_top and cl.full_result_count %}{% admin_actions %}{% endif %}
{% result_tree_list cl %}
{% if action_form and actions_on_bottom and cl.full_result_count %}{% admin_actions %}{% endif %}
-{% endblock %}
+{% endblock %}
\ No newline at end of file
diff --git a/categories/editor/templates/admin/editor/tree_list_results.html b/categories/editor/templates/admin/editor/tree_list_results.html
index 379471e..e5f1784 100644
--- a/categories/editor/templates/admin/editor/tree_list_results.html
+++ b/categories/editor/templates/admin/editor/tree_list_results.html
@@ -1,28 +1,24 @@
{% if result_hidden_fields %}
- {# DIV for HTML validation #}
- {% for item in result_hidden_fields %}{{ item }}{% endfor %}
-
+ {# DIV for HTML validation #}
+{% for item in result_hidden_fields %}{{ item }}{% endfor %}
+
{% endif %}
-
{% if results %}
-
-
+
{% endif %}
\ No newline at end of file
diff --git a/categories/editor/templatetags/admin_tree_list.py b/categories/editor/templatetags/admin_tree_list.py
index 61ff5dd..658bd41 100644
--- a/categories/editor/templatetags/admin_tree_list.py
+++ b/categories/editor/templatetags/admin_tree_list.py
@@ -12,8 +12,14 @@ from django.utils.encoding import smart_unicode, force_unicode
from django.utils.html import escape, conditional_escape
from django.utils.safestring import mark_safe
+from categories.editor import settings
+
register = Library()
+TREE_LIST_RESULTS_TEMPLATE = 'admin/editor/tree_list_results.html'
+if settings.IS_GRAPPELLI_INSTALLED:
+ TREE_LIST_RESULTS_TEMPLATE = 'admin/editor/grappelli_tree_list_results.html'
+
def items_for_tree_result(cl, result, form):
"""
@@ -145,4 +151,4 @@ def result_tree_list(cl):
from django.contrib.admin.templatetags.admin_list import result_hidden_fields
result['result_hidden_fields'] = list(result_hidden_fields(cl))
return result
-result_tree_list = register.inclusion_tag("admin/editor/tree_list_results.html")(result_tree_list)
+result_tree_list = register.inclusion_tag(TREE_LIST_RESULTS_TEMPLATE)(result_tree_list)
diff --git a/categories/editor/tree_editor.py b/categories/editor/tree_editor.py
index bb43ac4..87855e7 100644
--- a/categories/editor/tree_editor.py
+++ b/categories/editor/tree_editor.py
@@ -104,10 +104,15 @@ class TreeEditor(admin.ModelAdmin):
self.list_display.remove('action_checkbox')
opts = self.model._meta
+
+ grappelli_prefix = ""
+ if settings.IS_GRAPPELLI_INSTALLED:
+ grappelli_prefix = "grappelli_"
+
self.change_list_template = [
- 'admin/%s/%s/editor/tree_editor.html' % (opts.app_label, opts.object_name.lower()),
- 'admin/%s/editor/tree_editor.html' % opts.app_label,
- 'admin/editor/tree_editor.html',
+ 'admin/%s/%s/editor/%stree_editor.html' % (opts.app_label, opts.object_name.lower(), grappelli_prefix),
+ 'admin/%s/editor/%stree_editor.html' % (opts.app_label, grappelli_prefix),
+ 'admin/editor/%stree_editor.html' % grappelli_prefix,
]
def get_changelist(self, request, **kwargs):