Source code for nested_admin.views

import textwrap
import json

from django.contrib.staticfiles.storage import staticfiles_storage
try:
    # Django 1.10
    from django.urls import reverse, NoReverseMatch
except ImportError:
    # Django <= 1.9
    from django.core.urlresolvers import reverse, NoReverseMatch
from django.http import HttpResponse, HttpResponseForbidden


[docs]def server_data_js(request): """ Dynamic javascript serve defining the grappelli lookup urls. """ if not (request.user.is_active and request.user.is_staff): return HttpResponseForbidden('"Permission denied"') grappelli_lookup_urls = {} # Reverse names are "grp_%(key)s_lookup" grappelli_lookup_keys = ("related", "m2m", "autocomplete",) for k in grappelli_lookup_keys: try: grappelli_lookup_urls[k] = reverse("grp_%s_lookup" % k) except NoReverseMatch: pass server_data_js = textwrap.dedent(u""" var DJNesting = (typeof window.DJNesting != "undefined") ? DJNesting : {}; DJNesting.adminStaticPrefix = %s; DJNesting.LOOKUP_URLS = %s;""" % ( json.dumps(staticfiles_storage.url("admin/")), json.dumps(grappelli_lookup_urls),)) return HttpResponse(server_data_js.strip(), content_type='application/javascript')