mirror of
https://github.com/jazzband/django-admin2.git
synced 2026-04-23 08:04:43 +00:00
Merge pull request #386 from tyrion/patch-2
Fixed ModelAdminBase2 to allow overriding existent views.
This commit is contained in:
commit
ff3cbd413a
2 changed files with 8 additions and 7 deletions
|
|
@ -53,10 +53,11 @@ class ModelAdminTest(TestCase):
|
|||
self.model_admin = MyModelAdmin
|
||||
|
||||
def test_views(self):
|
||||
self.assertIn(
|
||||
self.model_admin.my_view,
|
||||
self.model_admin.views
|
||||
)
|
||||
views = [self.model_admin.my_view] + ModelAdmin2.views
|
||||
self.assertListEqual(self.model_admin.views, views)
|
||||
|
||||
def test_views_not_same(self):
|
||||
self.assertIsNot(self.model_admin.views, ModelAdmin2.views)
|
||||
|
||||
def test_get_index_kwargs(self):
|
||||
admin_instance = ModelAdmin2(BigThing, Admin2)
|
||||
|
|
|
|||
|
|
@ -28,15 +28,15 @@ class ModelAdminBase2(type):
|
|||
def __new__(cls, name, bases, attrs):
|
||||
new_class = super(ModelAdminBase2, cls).__new__(cls, name,
|
||||
bases, attrs)
|
||||
view_list = getattr(new_class, 'views', [])
|
||||
|
||||
view_list = []
|
||||
for key, value in attrs.items():
|
||||
if isinstance(value, views.AdminView):
|
||||
if not value.name:
|
||||
value.name = key
|
||||
view_list.append(value)
|
||||
|
||||
setattr(new_class, 'views', view_list)
|
||||
view_list.extend(getattr(new_class, 'views', []))
|
||||
new_class.views = view_list
|
||||
return new_class
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue