mirror of
https://github.com/django/django.git
synced 2025-10-31 09:41:08 +00:00
Fixed #7497 -- Allowed overriding the order of apps and models in admin.
This commit is contained in:
@@ -35,6 +35,14 @@ class Admin2(admin.AdminSite):
|
||||
def password_change(self, request, extra_context=None):
|
||||
return super().password_change(request, {"spam": "eggs"})
|
||||
|
||||
def get_app_list(self, request, app_label=None):
|
||||
app_list = super().get_app_list(request, app_label=app_label)
|
||||
# Reverse order of apps and models.
|
||||
app_list = list(reversed(app_list))
|
||||
for app in app_list:
|
||||
app["models"].sort(key=lambda x: x["name"], reverse=True)
|
||||
return app_list
|
||||
|
||||
|
||||
class UserLimitedAdmin(UserAdmin):
|
||||
# used for testing password change on a user not in queryset
|
||||
|
||||
@@ -1358,6 +1358,17 @@ class AdminViewBasicTest(AdminViewBasicTestCase):
|
||||
models = [model["name"] for model in response.context["app_list"][0]["models"]]
|
||||
self.assertSequenceEqual(models, sorted(models))
|
||||
|
||||
def test_app_index_context_reordered(self):
|
||||
self.client.force_login(self.superuser)
|
||||
response = self.client.get(reverse("admin2:app_list", args=("admin_views",)))
|
||||
self.assertContains(
|
||||
response,
|
||||
"<title>Admin_Views administration | Django site admin</title>",
|
||||
)
|
||||
# Models are in reverse order.
|
||||
models = [model["name"] for model in response.context["app_list"][0]["models"]]
|
||||
self.assertSequenceEqual(models, sorted(models, reverse=True))
|
||||
|
||||
def test_change_view_subtitle_per_object(self):
|
||||
response = self.client.get(
|
||||
reverse("admin:admin_views_article_change", args=(self.a1.pk,)),
|
||||
|
||||
Reference in New Issue
Block a user