diff options
| author | Jon Dufresne <jon.dufresne@gmail.com> | 2018-02-21 19:11:50 -0800 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2018-04-04 19:21:50 -0400 |
| commit | be6ca89396c031619947921c81b8795d816e3285 (patch) | |
| tree | b3b63ac77eca301666f28dfd446507290b4ef6a5 /tests/modeladmin/tests.py | |
| parent | 4f88143649d1bba69e911b2437a8f84d998d4bf2 (diff) | |
Fixed #27991 -- Added obj arg to InlineModelAdmin.has_add_permission().
Thanks Vladimir Ivanov for the initial patch.
Diffstat (limited to 'tests/modeladmin/tests.py')
| -rw-r--r-- | tests/modeladmin/tests.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/modeladmin/tests.py b/tests/modeladmin/tests.py index 81c28cb0ff..d0123de722 100644 --- a/tests/modeladmin/tests.py +++ b/tests/modeladmin/tests.py @@ -709,6 +709,25 @@ class ModelAdminPermissionTests(SimpleTestCase): request.user = self.MockDeleteUser() self.assertFalse(ma.has_add_permission(request)) + def test_inline_has_add_permission_uses_obj(self): + class ConcertInline(TabularInline): + model = Concert + + def has_add_permission(self, request, obj): + return bool(obj) + + class BandAdmin(ModelAdmin): + inlines = [ConcertInline] + + ma = BandAdmin(Band, AdminSite()) + request = MockRequest() + request.user = self.MockAddUser() + self.assertEqual(ma.get_inline_instances(request), []) + band = Band(name='The Doors', bio='', sign_date=date(1965, 1, 1)) + inline_instances = ma.get_inline_instances(request, band) + self.assertEqual(len(inline_instances), 1) + self.assertIsInstance(inline_instances[0], ConcertInline) + def test_has_change_permission(self): """ has_change_permission returns True for users who can edit objects and |
