mirror of
https://github.com/django/django.git
synced 2025-08-03 10:34:04 +00:00
Fixed #29917 -- Stopped collecting ModelAdmin.actions from base ModelAdmins.
This commit is contained in:
parent
a375e911ef
commit
f9ff1df1da
4 changed files with 46 additions and 11 deletions
|
@ -55,3 +55,24 @@ class AdminActionsTests(TestCase):
|
|||
mock_request.user = user
|
||||
actions = ma.get_actions(mock_request)
|
||||
self.assertEqual(list(actions.keys()), expected)
|
||||
|
||||
def test_actions_inheritance(self):
|
||||
class AdminBase(admin.ModelAdmin):
|
||||
actions = ['custom_action']
|
||||
|
||||
def custom_action(modeladmin, request, queryset):
|
||||
pass
|
||||
|
||||
class AdminA(AdminBase):
|
||||
pass
|
||||
|
||||
class AdminB(AdminBase):
|
||||
actions = None
|
||||
|
||||
ma1 = AdminA(Band, admin.AdminSite())
|
||||
action_names = [name for _, name, _ in ma1._get_base_actions()]
|
||||
self.assertEqual(action_names, ['delete_selected', 'custom_action'])
|
||||
# `actions = None` removes actions from superclasses.
|
||||
ma2 = AdminB(Band, admin.AdminSite())
|
||||
action_names = [name for _, name, _ in ma2._get_base_actions()]
|
||||
self.assertEqual(action_names, ['delete_selected'])
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue