From dbf19d16ab56daf7391ac4c20e9193859a106fcb Mon Sep 17 00:00:00 2001 From: Kaspars Sprogis Date: Fri, 27 Dec 2013 12:59:22 +0200 Subject: [PATCH] AdminSite detection support for various python/django versions #105 --- suit/templatetags/suit_menu.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/suit/templatetags/suit_menu.py b/suit/templatetags/suit_menu.py index b9276fb6..0c3c4670 100644 --- a/suit/templatetags/suit_menu.py +++ b/suit/templatetags/suit_menu.py @@ -1,5 +1,6 @@ from django import template from django.contrib import admin +from django.contrib.admin import AdminSite from django.core.handlers.wsgi import WSGIRequest from django.core.urlresolvers import reverse, resolve import warnings @@ -33,9 +34,10 @@ def get_admin_site(current_app): in func_closer dict in index() func returned by resolver. """ try: - url = reverse('%s:index' % current_app) - resolver_match = resolve(url) - return resolver_match.func.func_closure[1].cell_contents + resolver_match = resolve(reverse('%s:index' % current_app)) + for func_closure in resolver_match.func.func_closure: + if isinstance(func_closure.cell_contents, AdminSite): + return func_closure.cell_contents except: return admin.site