diff --git a/treeadmin/admin.py b/treeadmin/admin.py index 1b31089..4ba3320 100644 --- a/treeadmin/admin.py +++ b/treeadmin/admin.py @@ -3,12 +3,14 @@ from django.contrib.admin.views import main from django.db.models import Q from django.http import HttpResponse, HttpResponseBadRequest, HttpResponseForbidden, HttpResponseNotFound, HttpResponseServerError -from django.utils import simplejson from django.utils.safestring import mark_safe from django.utils.translation import ugettext_lazy as _, ugettext from mptt.exceptions import InvalidMove - +try: + import simpljson as json +except ImportError: + import json import logging @@ -318,7 +320,7 @@ def _toggle_boolean(self, request): d.append(b) # TODO: Shorter: [ y for x,y in zip(a,b) if x!=y ] - return HttpResponse(simplejson.dumps(d), mimetype="application/json") + return HttpResponse(json.dumps(d), mimetype="application/json") def get_changelist(self, request, **kwargs): return ChangeList @@ -347,7 +349,7 @@ def changelist_view(self, request, extra_context=None, *args, **kwargs): extra_context = extra_context or {} extra_context['TREEADMIN_MEDIA_HOTLINKING'] = self.jquery_use_google_cdn extra_context['TREEADMIN_JQUERY_NO_CONFLICT'] = self.jquery_no_conflict - extra_context['tree_structure'] = mark_safe(simplejson.dumps( + extra_context['tree_structure'] = mark_safe(json.dumps( _build_tree_structure(self.model))) return super(TreeAdmin, self).changelist_view(request, extra_context, *args, **kwargs)