Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Reverted parts of r16963 to fix a regression on the creation of permi…

…ssions on proxy models. Refs #17904. Thanks koenb for the report and claudep for the patch.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@17776 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit e78d6b406bede7c021aaecf7ae2c8c893e0ea84a 1 parent a8d0fc1
@aaugustin aaugustin authored
View
4 django/contrib/auth/management/__init__.py
@@ -31,8 +31,8 @@ def create_permissions(app, created_models, verbosity, **kwargs):
searched_perms = list()
# The codenames and ctypes that should exist.
ctypes = set()
- ctypes_for_models = ContentType.objects.get_for_models(*app_models)
- for klass, ctype in ctypes_for_models.iteritems():
+ for klass in app_models:
+ ctype = ContentType.objects.get_for_model(klass)
ctypes.add(ctype)
for perm in _get_all_permissions(klass._meta):
searched_perms.append((ctype, perm))
View
5 tests/modeltests/proxy_models/models.py
@@ -44,6 +44,9 @@ class MyPerson(Person):
class Meta:
proxy = True
ordering = ["name"]
+ permissions = (
+ ("display_users", "May display users information"),
+ )
objects = SubManager()
other = PersonManager()
@@ -158,4 +161,4 @@ class Improvement(Issue):
class ProxyImprovement(Improvement):
class Meta:
- proxy = True
+ proxy = True
View
7 tests/modeltests/proxy_models/tests.py
@@ -167,6 +167,13 @@ def test_otherperson_manager(self):
resp = [p.name for p in OtherPerson._default_manager.all()]
self.assertEqual(resp, ['barney', 'wilma'])
+ def test_permissions_created(self):
+ from django.contrib.auth.models import Permission
+ try:
+ Permission.objects.get(name="May display users information")
+ except Permission.DoesNotExist:
+ self.fail("The permission 'May display users information' has not been created")
+
def test_proxy_model_signals(self):
"""
Test save signals for proxy models
Please sign in to comment.
Something went wrong with that request. Please try again.