From 14df8c529eaadc5b576e5d92b6ed2f462f041b08 Mon Sep 17 00:00:00 2001 From: Diederik van der Boor Date: Tue, 29 Jul 2014 12:15:09 +0200 Subject: [PATCH] Move the get_permission_codename import to the main code. cc #93 --- polymorphic/admin.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/polymorphic/admin.py b/polymorphic/admin.py index a3d5030..79f27b7 100644 --- a/polymorphic/admin.py +++ b/polymorphic/admin.py @@ -18,6 +18,7 @@ from django.utils.encoding import force_text from django.utils.http import urlencode from django.utils.safestring import mark_safe from django.utils.translation import ugettext_lazy as _ + try: # Django 1.6 implements this from django.contrib.admin.templatetags.admin_urls import add_preserved_filters @@ -25,6 +26,13 @@ except ImportError: def add_preserved_filters(context, form_url): return form_url +try: + from django.contrib.auth import get_permission_codename +except ImportError: + # Django < 1.6 + from django.contrib.auth.management import _get_permission_codename as get_permission_codename + + __all__ = ( 'PolymorphicModelChoiceForm', 'PolymorphicParentModelAdmin', @@ -180,12 +188,6 @@ class PolymorphicParentModelAdmin(admin.ModelAdmin): """ Return a list of polymorphic types for which the user has the permission to perform the given action. """ - try: - from django.contrib.auth import get_permission_codename - except ImportError: - # Django < 1.6 - from django.contrib.auth.management import _get_permission_codename as get_permission_codename - choices = [] for model, _ in self.get_child_models(): if not request.user.has_perm('%s.%s' % (model._meta.app_label,