From 029bb2ae1a9ab5fb2ce69f5f8f16df570aa5cdf9 Mon Sep 17 00:00:00 2001 From: Kevin Armenat Date: Tue, 29 Jul 2014 11:15:38 +0200 Subject: [PATCH] added django < 1.6 compatibilty for permission codename generation --- polymorphic/admin.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/polymorphic/admin.py b/polymorphic/admin.py index ab77a45..a3d5030 100644 --- a/polymorphic/admin.py +++ b/polymorphic/admin.py @@ -7,7 +7,6 @@ from django.contrib import admin from django.contrib.admin.helpers import AdminForm, AdminErrorList from django.contrib.admin.sites import AdminSite from django.contrib.admin.widgets import AdminRadioSelect -from django.contrib.auth import get_permission_codename from django.contrib.contenttypes.models import ContentType from django.core.exceptions import PermissionDenied from django.core.urlresolvers import RegexURLResolver @@ -181,6 +180,12 @@ 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,